DrawingProcess
드프 DrawingProcess
DrawingProcess
전체 방문자
오늘
어제
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
  • 분류 전체보기 (967)
    • Profile & Branding (25)
      • Career (18)
    • IT Trends (254)
      • Conference, Faire (Experien.. (31)
      • News (187)
      • Youtube (19)
      • TED (8)
      • Web Page (2)
      • IT: Etc... (6)
    • Contents (97)
      • Book (66)
      • Lecture (31)
    • Project Process (94)
      • Ideation (0)
      • Study Report (34)
      • Challenge & Award (22)
      • 1Day1Process (5)
      • Making (5)
      • KRC-FTC (Team TC(5031, 5048.. (10)
      • GCP (GlobalCitizenProject) (15)
    • Study: ComputerScience(CS) (72)
      • CS: Basic (9)
      • CS: Database(SQL) (5)
      • CS: Network (14)
      • CS: OperatingSystem (3)
      • CS: Linux (39)
      • CS: Etc... (2)
    • Study: Software(SW) (95)
      • SW: Language (29)
      • SW: Algorithms (1)
      • SW: DataStructure & DesignP.. (1)
      • SW: Opensource (15)
      • SW: Error Bug Fix (43)
      • SW: Etc... (6)
    • Study: Artificial Intellige.. (149)
      • AI: Research (1)
      • AI: 2D Vision(Det, Seg, Tra.. (35)
      • AI: 3D Vision (70)
      • AI: MultiModal (3)
      • AI: SLAM (0)
      • AI: Light Weight(LW) (3)
      • AI: Data Pipeline (7)
      • AI: Machine Learning(ML) (1)
    • Study: Robotics(Robot) (33)
      • Robot: ROS(Robot Operating .. (9)
      • Robot: Positioning (8)
      • Robot: Planning & Control (7)
    • Study: DeveloperTools(DevTo.. (83)
      • DevTool: Git (12)
      • DevTool: CMake (13)
      • DevTool: NoSQL(Elastic, Mon.. (25)
      • DevTool: Container (17)
      • DevTool: IDE (11)
      • DevTool: CloudComputing (4)
    • 인생을 살면서 (64)
      • 나의 취미들 (7)
      • 나의 생각들 (42)
      • 여행을 떠나자~ (10)
      • 분기별 회고 (5)

개발자 명언

“ 매주 목요일마다 당신이 항상 하던대로 신발끈을 묶으면 신발이 폭발한다고 생각해보라.
컴퓨터를 사용할 때는 이런 일이 항상 일어나는데도 아무도 불평할 생각을 안 한다. ”

- Jef Raskin

맥의 아버지 - 애플컴퓨터의 매킨토시 프로젝트를 주도

인기 글

최근 글

최근 댓글

티스토리

hELLO · Designed By 정상우.
DrawingProcess

드프 DrawingProcess

[Study] 혼공학습단 10기: 혼자 공부하는 머신러닝+딥러닝(박해선) - Chapter 04 다양한 분류 알고리즘(3주차)
Project Process/Study Report

[Study] 혼공학습단 10기: 혼자 공부하는 머신러닝+딥러닝(박해선) - Chapter 04 다양한 분류 알고리즘(3주차)

2023. 7. 20. 08:30
반응형

다양한 분류 알고리즘

스터디

스터디 범위

Chapter 04 다양한 분류 알고리즘

  • 04-1 로지스틱 회귀 ▶️로지스틱 회귀 알고리즘을 배우고 이진 분류 문제에서 클래스 확률 예측하기
  • 04-2 확률적 경사 하강법 ▶️경사 하강법 알고리즘을 이해하고 대량의 데이터에서 분류 모델을 훈련하기

스터디 내용

04-1 로지스틱 회귀 ▶️로지스틱 회귀 알고리즘을 배우고 이진 분류 문제에서 클래스 확률 예측하기

K-최근접 이웃: 이웃한 샘플의 클래스 비율로 확률 기반 분류 모델이지만, 근접한 이웃 수(K)에 연관된 이산적인 확률을 출력하는 단점.

로지스틱 회귀: 선형 방정식을 사용한 분류 알고리즘. 선형 회귀와 달리 시그모이드 함수나 소프트맥스 함수를 사용하여 연속적인 클래스 확률을 출력가능.

  • 이진 분류: 시그모이드(sigmoid) 함수, 선형 방정식의 출력을 0과 1 사이의 값으로 압축하며 이진 분류를 위해 사용함.
  • 다중 분류: 소프트맥스(softmax) 함수, 다중 분류에서 여러 선형 방정식의 출력 결과를 정규화하여 합이 1이 되도록 만듦.

scikit-learn

  • LogisticRegression: 로지스틱 회귀를 위한 클래스
    • solver 매개변수: 사용할 알고리즘 선택 가능. 기본값은 '1bfgs'.
      • 사이킷런 0.17에 추가된 'sag'는 확률적 평균 경사 하강법 알고리즘으로 특성과 샘플 수가 많을 때 성능은 빠름 
      • 사이 킷런 0.19 버전 에는 'sag'의 개선 버전인 'saga' 가 추가됨
    • penalty 매개변수: L2 규제 ( 릿지 방식 ) 와 L1 규제 ( 라쏘 방식 ) 를 선택가능. 기본값은 L2 규제를 의미 하는 '12'.
    • C 매개변수: 규제 의 강도를 제어. 기본값은 1.0 이며 값이 작을 수록 규제가 강해짐
  • predict_proba: 예측 확률을 반환함
    • 이진 분류의 경우, 샘플 마다 음성 클래스 와 양성 클래스에 대한 확률 을 반환함
    • 다중 분류의 경우, 샘플 마다 모든 클래스에 대한 확률을 반환함
  • decision_function: 모델이 학습 한 선형 방정식의 출력을 반환함
    • 이진 분류의 경우, 양성 클래스의 확률 이 반환함. 0 보다 크면 양성 클래스 작거나 같으면 음성 클래스 로 예측함.
    • 다중 분류의 경우, 각 클래스 마다 선형 방정식을 계산하여 가장 큰 값의 클래스가 예측 클래스.

04-2 확률적 경사 하강법 ▶️경사 하강법 알고리즘을 이해하고 대량의 데이터에서 분류 모델을 훈련하기

확률적 경사 하강법(Stocastic Gradient Descent, 이하 SDG): 훈련세트에서 샘플을 꺼내 손실함수의 경사를 따라 최적의 모델을 찾는 알고리즘.

  • SDG: 한번에 훈련에 샘플을 하나씩 사용하여 훈련함
  • Mini-batch SDG: 한번에 훈련에 샘플을 몇개씩 사용하여 훈련함
  • batch SDG: 한번에 훈련에 전체 샘플을 사용하여 훈련함
  • Epoch: 위의 어떤 방식을 사용하던 전체 샘플을 모두 사용하는 한 번 반복을 의미함

손실 함수(loss function): SDG로 최적화할 대상.

  • 이진 분류: 로지스틱 회귀(logistic regression) 또는 이진 크로스엔트로피(binary cross entropy) 손실 함수 사용
  • 다중 분류: 크로스엔트로피(cross entropy) 손실 함수 사용
  • 회귀: 평균 제곱 오차(Mean Square Error) 손실 함수 사용
  • 추가로, 비용 함수(cost function)이란? 훈련세트에 대한 모든 샘플에 대한 손실함수의 합

scikit-learn

  • SGDClassifier: 확률적 경사 하강법을 사용한 분류 모델.
    • loss 매개변수: 확률적 경사 하강법으로 최적화할 손실 함수를 지정. 기본값은 서포트 벡터 머신을 위한 ‘hinge’ 손실 함수이며, 로지스틱 회귀를 위해서는 ‘log’로 지정.
    • penalty 매개변수: 규제의 종류를 지정. 기본값은 L2 규제를 위한 ‘l2’. 규제 강도는
    • alpha 매개변수: 규제 강도 지정. 기본값은 0.0001.
    • max_iter 매개변수: 에포크 횟수를 지정. 기본값은 1000.
    • tol 매개변수: 반복을 멈출 조건. n_iter_no_change 매개변수에서 지정한 에포크 동안 손실이 tol 만큼 줄어들지 않으면 알고리즘이 중단됨. tol 매개변수의 기본값은 0.001이고 n_iter_no_change 매개변수의 기본값은 5.
  • SGDRegressor: 확률적 경사 하강법을 사용한 회귀 모델.
    • loss 매개변수: 손실 함수를 지정. 기본값은 제곱 오차를 나타내는 ‘squared_loss’.
    • 앞의 SGDClassifier에서 설명한 매개변수는 모두 SGDRegressor에서 동일하게 사용됨 

미션

기본 미션

Ch.04(04-1) 2번 문제 풀고, 풀이 과정 설명하기

확인문제 02: 로지스틱 회귀가 이진 분류에서 확률을 출력하기 위해 사용하는 함수는 무엇인가요?

정답: 1. 시그모이드(sigmoid) 함수.

시그모이드 함수는 선형 방정식의 출력을 0과 1 사이의 값으로 압축하며 이진 분류를 위해 사용하며, 2개 이상의 클래스를 분류하는 다중 분류에서는 여러 선형 방정식의 출력 결과를 정규화하여 합이 1이 되도록 만드는 소프트맥스(softmax) 함수를 사용합니다.

선택 미션

Ch.04(04-2) 과대적합/과소적합 손코딩 코랩 화면 캡쳐하기

  • partial_fit을 통해 fine tuning 가능하여, Epoch 300까지 돌려본 후 최적인 구간을 찾는 과정.

참고

  • [Github] 예제 소스: https://github.com/rickiepark/hg-mldl
  • [Google Colab] 예제 소스: https://colab.research.google.com/github/rickiepark/hg-mldl 
  • Q&A: 박해선 저자님의 github: https://groups.google.com/g/ml-dl-book-qna?pli= 
  • 유튜브 강의: 👉전체 강의 목록: https://www.youtube.com/playlist?list=PLVsNizTWUw7HpqmdphX9hgyWl15nobgQX

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Project Process > Study Report' 카테고리의 다른 글

[Study] 혼공학습단 10기: 혼자 공부하는 머신러닝+딥러닝(박해선) - Chapter 05 트리 알고리즘(4주차)  (0) 2023.07.30
[영어] 리얼클래스 학습 일기: 일상 회화 표현 정리(7월 3주차)  (0) 2023.07.25
[영어] 리얼클래스 학습 일기: 일상 회화 표현 정리(7월 2주차)  (0) 2023.07.16
[Study] 혼공학습단 10기: 혼자 공부하는 머신러닝+딥러닝(박해선) - Chapter 03 회귀 알고리즘과 모델 규제(2주차)  (0) 2023.07.14
[영어] 리얼클래스 학습 일기: 일상 회화 표현 정리(7월 1주차)  (0) 2023.07.10
    'Project Process/Study Report' 카테고리의 다른 글
    • [Study] 혼공학습단 10기: 혼자 공부하는 머신러닝+딥러닝(박해선) - Chapter 05 트리 알고리즘(4주차)
    • [영어] 리얼클래스 학습 일기: 일상 회화 표현 정리(7월 3주차)
    • [영어] 리얼클래스 학습 일기: 일상 회화 표현 정리(7월 2주차)
    • [Study] 혼공학습단 10기: 혼자 공부하는 머신러닝+딥러닝(박해선) - Chapter 03 회귀 알고리즘과 모델 규제(2주차)
    DrawingProcess
    DrawingProcess
    과정을 그리자!

    티스토리툴바