[2022 하계 모각코] 4주차 목표 및 결과

vvon_joon·2022년 7월 27일
0

목표

4회차: 7/27 14:00 ~ 17:00
계획: 딥러닝 교재 Chapter4 학습, (시간이 남을 시 파이썬 복습)

결과

4-1. 로지스틱 회귀

개념정리

로지스틱 회귀

  • 선형 방정식을 사용한 분류 알고리즘
  • 시그모이드 함수나 소프트맥스 함수를 사용하여 클래스 확률을 출력

다중 분류

  • 타깃 클래스가 2개 이상인 분류 문제
  • 로지스틱 회귀는 다중 분류를 위해 소프트맥스 함수를 사용해 클래스를 예측

시그모이드 함수

  • 선형 방정식의 출력을 0과 1 사이의 값으로 압축해 이진 분류를 위해 사용

소프트맥스 함수

  • 다중 분류에서 여러 선형 방정식의 출력 결과를 정규화해 합이 1이 되도록 만듦

패키지 및 함수

skiti-learn 패키지

LogisticRegression

  • 로지스틱 회귀를 위한 클래스
  • solver 매개변수에서 사용할 알고리즘을 선택, 기본 값은 '1bfgs', 'sag'(확률적 평균 경사 하강법) 및 'saga'('sag' 개선 버전) 존재
  • penalty 매개변수에서 규제 방식을 선택, L1 규제(라쏘 방식) 및 L2 규제(릿지 방식) 존재, 기본값은 L2 규제를 의미하는 'l2'
  • C 매개변수에서 규제의 강도를 제어, 기본값이 1.0, 값이 작을수록 규제가 강해짐

predict_proba()

  • 예측 확률을 반환
  • 이진 분류 경우에는 샘플마다 음성 클래스와 양성 클래스에 대한 확률을 반환
  • 다중 분류 경우에는 샘플마다 모든 클래스에 대한 확률을 반환

decision_function()

  • 모델이 학습한 선형 방정식의 출력을 반환
  • 이진 분류 경우에는 클래스의 확률이 0보다 크면 양성 클래스, 작거나 같으면 음성 클래스로 예측
  • 다중 분류 경우에는 각 클래스마다 선형 방정식을 계산, 가장 큰 값의 클래스가 예측 클래스가 됨

실습

Practice 4-1

3-2. 확률적 경사 하강법

개념정리

확률적 경사 하강법

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

손실 함수

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

에포크

  • 확률적 경사 하강법에서 전체 샘플을 모두 사용하는 한 번 반복
  • 일반적으로 경사 하강법 알고리즘은 수십에서 수백 번의 에포크를 반복

패키지 및 함수

skiti-learn 패키지

SGDClassifier

  • 확률적 경사 하강법을 사용한 분류 모델을 만듦
  • loss 매개변수는 확률적 경사 하강법으로 최적화할 손실 함수를 지정, 기본 값은 서포트 벡터 머신을 위한 'hinge' 손실 함수, 로지스틱 회귀를 위해선 'log'로 지정
  • penalty 매개변수에서 규제의 종류를 지정, 이는 LogisticRegression에서와 같은 방법, 규제 강도는 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와 매개변수가 같음

실습

Practice 4-2

profile
김찬호 화이팅

0개의 댓글