아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다.
'부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다.
댓글 남겨주시면 더 공부하고 수정하도록 하겠습니다.
감사합니다.
로지스틱 회귀란?
- 로지스틱 회귀는 선형 회귀 방식을 분류에 적용한 알고리즘이다.
- 머신러닝에서 2진 분류(Binary Classification) 모델로 사용된다. 다중분류도 가능은 함.
- 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류한다.
- 선형 회귀와 차이점 : 학습을 통해 선형 함수의 회귀 최적선을 찾는 것이 아니라 시그모이드(Sigmoid) 함수 최적선을 찾고 이 시그모이드 함수의 반환 값을 확률로 간주해 분류를 걸정한다.
로지스틱 회귀의 확률 추정
- 시그모이드 함수의 x값이 아무리 커지거나 작아져도 y는 0과 1 사이의 값을 반환한다.
- 다중분류에서는 소프트맥스 함수를 사용하여 확률 반환
시그모이드 함수
- 위 계산 식에서 t를 logit 혹은 log-odds 라고 부른다. 양성, 음성 클래스의 추정확률 사이의 로그 비율
- 각 feature들의 계수 log-odds를 구한 후 Sigmoid 함수를 적용하여, 실제로 데이터가 해당 클래스에 속할 확률을 0과 1사이의 값으로 나타낸다.
- 해당 클래스인지 분류되는 추정 확률은 Threshold에 의해 결정된다. 기본 값은 0.5(50%)이지만 데이터의 특성이나 상황에 따라 조정할 수 있다.
- Scikit-learn을 통해 모델을 생성하고 각 속성(feature)들의 계수를 구할 수 있다. 각 계수(coefficients)들은 데이터를 분류함에 있어 해당 속성이 얼마나 중요한지 해석하는 데에 사용할 수 있다.
훈련과 비용 함수
- 로지스틱 회귀는 y = 1인 양성 샘플에 대해서는 높은 확률을 추정하고 음성 샘플에 대해서는 낮은 확률을 추정하는 모델의 파라미터 벡터를 찾는 것
- log-odds 가 0에 가까워지면 -log(t)가 커지고, log-odds가 1에 가까우면 -log(t)는 0에 가까워진다.
- 전체 훈련세트에 대한 비용함수는 훈련 샘플의 비용을 평균한 것 → log loss
- m:데이터 총 개수
- y_i: 데이터 샘플 i의 분류
- i: 데이터 샘플 log-odd
- p_i: 데이터 샘플 i의 log-odd의 sigmoid (즉, 데이터 샘플 i가 분류에 속할 확률)
- log loss를 활용하여 편미분 하면 경사하강법 알고리즘을 사용할 수 있다.
Reference
https://m.hanbit.co.kr/store/books/book_view.html?p_code=B7033438574
https://hleecaster.com/ml-logistic-regression-concept/
https://ebbnflow.tistory.com/129
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/041.gif)
어느정도 모델 다루는 법이나 큰 그림은 이해했다고 생각되어서
좀더 깊은 내용으로 수식과 함께 공부해보려고 하지만 아직은 많이 어렵고 부족합니다.
잘못된 부분 있다면 알려주시면 감사하겠습니다!! (꾸벅_)
... 끝!
'ML & DL > Machine Learning' 카테고리의 다른 글
[ML] 선형 회귀(Linear, Polynomial, Multiple) (0) | 2022.12.19 |
---|---|
[ML] Encoding : Label & One Hot (0) | 2022.12.16 |
[ML] Data Pre-processing : Scaling (0) | 2022.12.16 |
[ML] KNN(K-Nearest Neighbor) (2) | 2022.12.12 |
[ML] 지도 학습, 비지도 학습, 강화 학습 (3) | 2022.12.09 |
댓글