목차
해당 포스트(Machine Learning)는 유투브 혁펜하임의 강의 내용을 듣고 제 생각대로 정리한 내용이라 틀린 내용이 있을 수 도 있습니다.
Machine Learning 소프트 맥스 회귀란?
앞서 로지스틱 회귀 이론에 대해 알아보았습니다(https://scribblinganything.tistory.com/682). 로지스틱 회귀란 입력 값을 받고 이 값이 해당 라벨에 포함되는지를 확률적인 값으로 출력 해주었습니다. 예제로 여자 사람의 사진일 경우 1에 가까운 값을 출력 하고 그 외는 0에 가까운 값을 출력하는 로직이었습니다.
소프트 맥스 회기란 앞서 로지스틱이 하나의 출력만을 구분 지었다면 이번에는 출력을 벡터(Vector) 형식으로 보내서 여자 사람, 남자 사람, 고양이 등을 벡터에 값으로 출력해줍니다.
출력 확률 수식은 위와 같습니다. x 입력 값에 따라 출력들이 구분이 지어지게 됩니다. Expoenetial 지수를 사용한 이유는 출력이 더 눈에 띄게 구분되게 하기 위해 사용하였습니다.
수식1과 같이 전개되기 때문에 시그모이드(Sigmoid) 함수가 0, 1로 수렴되는 것을 막고 상대적인 구분이 가능 합니다.
Machine Learning 소프트 맥스 회귀 Loss 함수
소프트 맥스 회귀에서 Loss 함수는 코로스 엔트로피(Cross Entropy)를 사용합니다. 엔트로피(Entropy)는 정보를 표현할 때 사용하는 최소의 자원량을 말합니다. 출력이 확률 값을 가지면 엔트로피 개념을 사용해서 기대값을 만들 수 있습니다.
수식2는 2개의 출력을 확률로 가지는 엔트로피의 표현 될 수 있는 기대값 수식입니다. log 부분은 표현될 수 있는 길이를 의미합니다. 출력의 확률이 높을 수록 길이는 작게 쓰는 것이 좋기 때문에 확률이 1에서 길이는 0으로 수렴하는 -log 식을 사용합니다. pi는 확률 값입니다. 여기서 -log2pi를 -log2qi로 수정하면 크로스 엔트로피가 됩니다.
크로스 엔트로피란 길이에 대한 확률을 내가 생각하는 확률 값 qi로 바꿔서 사용하는 것입니다.
pi는 소프트맥스 회귀에서 벡터 값입니다. 그리고 i 가 의미하는 것은 라벨링의 개수를 의미합니다. j는 입력의 개수로 몇 개의 사진이 들어갔는지입니다.
'여러가지공부 > 머신러닝(Machine Learning)' 카테고리의 다른 글
[머신러닝]일반화(Generalization), 과적합(Overfitting, Underfitting)이란? 파이썬 코드 예제(그래프 포함) (0) | 2023.03.30 |
---|---|
[Python] 원핫인코딩(One Hot Encoding)이란? 쉬운 예제로 실습하기 (0) | 2023.03.30 |
[머신러닝]로지스틱회귀란?(Logistic Regression, 시그모이드 함수) (0) | 2023.03.19 |
[머신러닝]퍼셉트론(Perceptron)이란? (MLP(Multi Layer), 활성화 함수, 사용목적, 풀이) (0) | 2023.03.08 |
[머신러닝] 인공 신경망이란?(ANN, Artificial Neural Network), 예제 풀이(Example) (0) | 2023.03.04 |