본문 바로가기

[ML&DL]

[ML&DL] 다양한 분류 알고리즘

1. 로지스틱 회귀

로지스틱 회귀
  - 선형 방정식을 사용한 분류 알고리즘 ____ 1 / (1 + np.exp(-z))
  - 선형 회귀와 달리 시그모이드 함수나 스프트맥수 함수를 사용하여 클래스 확률을 출력 가능


다중 분류: 타깃 클래스가 2개 이상인 분류 문제


시그모이드 함수expit(): 선형 방정식의 출력을 0~1 사이로 압축하며 이진 분류를 위해 사용


소프트맥스 함수softmax(): 다중 분류에서 여러  선형 방정식의 출력 결과를 정규화하여 합이 1이 되도록 만듬

scikit_learn


  - LogisticRegression: 선형 분류 알고리즈인 로지스틱 회귀를 위한 클래스
    * solver 매개변수에서 사용할 알고리즘을 선택할 수 있음
    * penalty 매개변수에서 L2(릿지), L1(라쏘) 방식을 선택할 수 있음
    * C 매개변수에서 규제의 강도 제어 (기본값=1)

  - predict_proba() 메서드는 예측 확률을 반환


  - decision_function()은 모델이 학습한 선형 방정식의 출력을 반환

 

2.  확률적 경사 하강법

확률적 경사 하강법: 훈련 세트에서 샘플 하나씩 꺼내 손실 함수의 경사를 따라 최적의 모델을 찾는 알고리즘
  - 미니배치 경사 하강법: 샘플을 여러개씩 사용
  - 배치경사 하강법: 한번에 전체 샘플을 사용

손실함수: 확률적 경사 하강법이 최적화할 대상
 - 이진 분류에는 로지스틱 회귀 손실 함수 사용
 - 다중 분류에는 크로스엔트리포 손실 함수 사용
 - 회귀문제에는 평균 제곱 오차 손실 함수 사용

에포크: 확률적 경사 하강법에서 전체 샘플을 모두 사용하는 한 번 반복

scikit-learn
  - SGDClassifier는 확률적 경사 하강법을 사용한 분류 모델을 만듬
    * loss 매개변수로 손실함수 지정
    * penalty 매개변수에서 규제의 종류 지정
    * max_iter 매개변수는 에포크 횟수 지정
    * tol 매개변수는 반복을 멈출 조건

  - SGDRegressor는 확률적 경사 하강법을 사용한 회귀 모델을 만듬



 

 

'[ML&DL]' 카테고리의 다른 글

[ML&DL] 비지도학습  (0) 2023.03.10
[ML&DL] 트리 알고리즘  (0) 2023.03.09
[ML&DL] 회귀 알고리즘과 모델 규제  (0) 2023.03.07
[ML&DL] 데이터 다루기  (0) 2023.03.06
[ML&DL] 입문  (0) 2023.03.06