[혼공머신]3주차_CH4

yjnow·2024년 1월 20일
0
post-thumbnail

[04-1 로지스틱 회귀]

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

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

  3. 시그모이드 함수
    선형 방정식의 출력을 0과 1 사이의 값으로 압축
    이진 분류를 위해 사용

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

scikit-learn

  1. LogisticRegression
    로지스틱 회귀를 위한 클래스
    slover 매개변수 : 사용할 알고리즘 선택 (기본값 : lbfgs)
    penalty 매개변수 : L2 규제(릿지 방식)과 L1 규제(라쏘 방식) 선택 가능
    C 매개변수 : 규제의 강도 제어 (기본값 : 1.0, 값이 작을수록 규제 강해짐)

  2. predict_proba()
    예측 확률을 반환하는 메서드
    이진분류 : 샘플마다 음성 클래스와 양성 클래스에 대한 확률 반환
    다중분류 : 샘플마다 모든 클래스에 대한 확률 반환

  3. decision_function()
    모델이 학습한 선형 방정식의 출력을 반환하는 메서드
    이진분류 : 양성 클래스의 확률 반환
    다중분류 : 각 클래스마다 선형방정식 계산

[04-2 확률적 경사 하강법]

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

  2. 손실 함수
    확률적 경사 하강법이 최적화할 대상
    대부분의 문제에 잘 맞는 손실함수는 정해져 있음
    (ex. 이진분류 -> 로지스틱 회귀 (이진 크로스엔트로피) 손실 함수
    다중 분류 -> 크로스엔트로피 손실 함수
    회귀 문제 -> 평균 제곱 오차 손실 함수)

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

scikit-learn

  1. SGDClassifier
    확률적 경사 하강법을 사용한 분류 모델을 만든다
    loss 매개변수 : 확률적 경사 하강법으로 최적화할 손실 함수 지정 (기본값 : hinge 손실함수)
    penalty 매개변수 : 규제의 종류 지정 (기본값 : l2)
    max_iter 매개변수 : 에포크 횟수 지정 (기본값 : 1000)
    tol 매개변수 : 반복을 멈출 조건 (기본값 : 0.001)
    n_iter_no_change 매개변수 : 여기서 지정한 에포크 동안 손실이 tol만큼 줄어들지 않으면 알고리즘이 중단됨 (기본값 : 5)

  2. SGDRegressor
    확률적 경사 하강법을 사용한 회귀 모델을 만든다
    loss 매개변수 : 손실 함수를 지정 (기본값 : squared_loss)
    -> SGDClassifier에서 설명한 매개변수는 모두 SGDRegressor에서 동일하게 사용됨

기본 미션

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

Q.로지스틱 회귀가 이진 분류에서 확률을 출력하기 위해 사용하는 함수는 무엇인가요?
A.1.시그모이드 함수
-> 시그모이드 함수는 선형방정식의 출력을 0과 1 사이의 값으로 압축한다. 이러한 특성으로 인해 로지스틱 회귀에서는 선형 방정식의 결과를 확률로 변환하기 위해 시그모이드 함수를 사용한다.

선택 미션

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

0개의 댓글