ݺߣ

ݺߣShare a Scribd company logo
소프트맥스 회귀분석
딥러닝을 위한 신경망 기초
nonezerok@gmail.com
다층 퍼셉트론과 같이 시그모이드 함수를 도입한 정합 방법입니다.
분류 문제를 위해 신경망의 출력단으로 사용되므로 사용빈도가 매우 높습니다.
2
2클래스 분류 / 다중 클래스 분류를 위한
로지스틱 / 소프트맥스 회귀분석
Odds Ratio
3
신경망 출력을 0~1 사이로 만들 수 있으면,
왠지 멋진 Cross-Entropy를 손실함수로
사용할 수 있다.
아주 특별한 비율;식 이라 이름도 있다.
Logit function
4
입력
출력
0 ~ 1
+∞
−∞
여기에 로그를 취하면 더욱 특별한 식이 된다.
당연히 이름이 있다.
입력이 0~1사이이고, 출력은 무한대
Logit의 출력을 선형회귀의 출력으로 간주
5
입력
출력
+∞
−∞
선형회귀가 찾은 함수
※log-linear model
확률에 로그를 취했는데,
이 확률과 관련된 변수가 선형식으로 표현되는 모델
6
입력과 출력을 바꾸면…
7
선형회귀의 출력을 확률로 간주할 수 있다!
 + 
+∞−∞


Sigmoid function
8
positive class
negative class
0.5
Odd Ratio에 관한,
Log-linear 모델을 p에 대해 정리한 것
0.5를 기준으로 2가지 구분
  +  =
1
1 +  
9
절편 b를 변화시키면,
위치 이동
  +  =
1
1 + 
10
가중치 w를 변화시키면,
경사 조정
11
0 클래스 샘플들
1 클래스 샘플들
빨간 함수로 두 클래스
샘플들을 잘 정합할 수
있음
Logistic Regression for 2-class Classification
12



1

 
로짓 함수에서 유래된 시그모이드 함수를 사용하여,
2가지를 구분/분류; 실제로는 정합하도록 학습하는 방법
(이진 분류 문제에 적용)
13
Loss function:   = − ∑   + 1 −   1 − 


Activation () =

  ∈ 0, 1



1

 
Cross-Entropy를 Loss 함수로 사용
Softmax Regression for Multi-class Classification
14



1
 

 
⋮

 +  + ⋯ + 


 +  + ⋯ + 


 +  + ⋯ + 

시그모이드 함수 결과를 정규화해서 K개를 분류
(다중 클래스 분류 문제에 적용)
15
Loss function:   = − ∑ ∑  




() =

∑ 

 = 0 0 1 0 0 0 0 0 0 0 



1
 

 
⋮

 +  + ⋯ + 


 +  + ⋯ + 


 +  + ⋯ + 

Softmax Function
one-hot encoding
16
 =  + ∆
∆ = −


=    1 −   −  ,

학습
Squared-Loss와 동일한 식으로 유도

More Related Content

[신경망기초] 소프트맥스회귀분석

  • 1. 소프트맥스 회귀분석 딥러닝을 위한 신경망 기초 nonezerok@gmail.com 다층 퍼셉트론과 같이 시그모이드 함수를 도입한 정합 방법입니다. 분류 문제를 위해 신경망의 출력단으로 사용되므로 사용빈도가 매우 높습니다.
  • 2. 2 2클래스 분류 / 다중 클래스 분류를 위한 로지스틱 / 소프트맥스 회귀분석
  • 3. Odds Ratio 3 신경망 출력을 0~1 사이로 만들 수 있으면, 왠지 멋진 Cross-Entropy를 손실함수로 사용할 수 있다. 아주 특별한 비율;식 이라 이름도 있다.
  • 4. Logit function 4 입력 출력 0 ~ 1 +∞ −∞ 여기에 로그를 취하면 더욱 특별한 식이 된다. 당연히 이름이 있다. 입력이 0~1사이이고, 출력은 무한대
  • 5. Logit의 출력을 선형회귀의 출력으로 간주 5 입력 출력 +∞ −∞ 선형회귀가 찾은 함수 ※log-linear model 확률에 로그를 취했는데, 이 확률과 관련된 변수가 선형식으로 표현되는 모델
  • 7. 7 선형회귀의 출력을 확률로 간주할 수 있다!  +  +∞−∞  
  • 8. Sigmoid function 8 positive class negative class 0.5 Odd Ratio에 관한, Log-linear 모델을 p에 대해 정리한 것 0.5를 기준으로 2가지 구분
  • 9.   +  = 1 1 +   9 절편 b를 변화시키면, 위치 이동
  • 10.   +  = 1 1 +  10 가중치 w를 변화시키면, 경사 조정
  • 11. 11 0 클래스 샘플들 1 클래스 샘플들 빨간 함수로 두 클래스 샘플들을 잘 정합할 수 있음
  • 12. Logistic Regression for 2-class Classification 12    1    로짓 함수에서 유래된 시그모이드 함수를 사용하여, 2가지를 구분/분류; 실제로는 정합하도록 학습하는 방법 (이진 분류 문제에 적용)
  • 13. 13 Loss function:   = − ∑   + 1 −   1 −    Activation () =    ∈ 0, 1    1    Cross-Entropy를 Loss 함수로 사용
  • 14. Softmax Regression for Multi-class Classification 14    1      ⋮   +  + ⋯ +     +  + ⋯ +     +  + ⋯ +   시그모이드 함수 결과를 정규화해서 K개를 분류 (다중 클래스 분류 문제에 적용)
  • 15. 15 Loss function:   = − ∑ ∑       () =  ∑    = 0 0 1 0 0 0 0 0 0 0     1      ⋮   +  + ⋯ +     +  + ⋯ +     +  + ⋯ +   Softmax Function one-hot encoding
  • 16. 16  =  + ∆ ∆ = −   =    1 −   −  ,  학습 Squared-Loss와 동일한 식으로 유도