강화학습_(3) - 시그모이드 (Sigmoid)함수 정의

Study/Reinforcement learning · 2019. 10. 21. 21:52

- 시그모이드 함수
: 로지스틱 회귀분석 또는 neural network의 binary classification 마지막 레이어의 활성함수로 사용한다.

 

 

 

 

1) 로지스틱 회귀분석 : 데이터를 두 개의 그룹으로 분류하는 가장 기본적인 방법이다.

 

1] 회귀분석과의 차이는 우리가 원하는 것이 실수인 예측값이기 때문에 종속변수의 범위가 실수이지만 로지스틱 회귀분석에서는 종속변수 y의 값이 0 또는 1을 갖는다.

 

2] 따라서 로지스틱 회귀분석을 사용할 때는 주어진 데이터를 분류할 때 0인지 1인지 예측하는 모델을 만들어야 한다.

 

 

2) 로지스틱 회귀분석 시 시그모이드 함수를 사용하는 이유

 

1] 데이터를 두 개의 그룹으로 분류할 때 선형함수 (직선)을 사용한다면, 다음과 같은 문제가 발생한다.

-> 특정한 data set을 성공 (y = 1)과 실패 (y = 0)으로 분류한다고 하자.

-> 이 때 data set은 다음과 같다 : (1, 0), (2, 0), (3, 0), (8, 1), (9, 1), (10, 1)

-> 해당 data set은 y = 1/2를 기준으로 성공과 실패를 나누면 된다고 할 수 있다.

-> 이 때 (20, 1)의 값을 가지는 data가 추가 되었다고 하자.

 

-> 데이터를 분류하는 선형 함수 (직선)은 다음과 같은 모양이 될 것 이다.

 

-> 이때 데이터를 분류하는 함수로 시그모이드를 활용하면,

 

-> 더욱 명확하게 분류할 수 있다!!

 

2] 시그모이드를 사용하는 더욱 명확한 이유

-> 단순선형회귀분석 (독립변수가 1개인 경우)은 목표가 실수값 예측이기 떄문에 선형함수 y = w*x +b를 사용한다.

 

-> 로지스틱 회귀분석에는 종속변수가 0 또는 1이기 때문에 선형함수를 사용하는 것은 의미가 없고, Odds를 이용한다.

 

-> Odds는 다음과 같이 정의된다. (확률 P가 주어져 있을 때)

 

-> 확률 p의 범위가 (0, 1)이라면 Odds(p)의 범위는 (0, )이 된다.

 

-> Odds에 로그함수를 취한 log(Odds(p))는 범위가 (-∞, )이 된다.

=> 실수 전체를 의미한다. ==> 즉, 범위가 실수 전체이므로 이 값에 대해선 선형회귀분석을 하는 것이 의미가 있다.

 

-> 위의 식으로 선형회귀분석을 실시해서 w와 b를 얻을 수 있다.

 

-> 해당 식을 p로 정리하면 다음과 같은 식을 얻는다.

 

-> 결과적으로 x 데이터가 주어졌을 때 성공확률을 예측하는 로지스틱 회귀분석은 학습데이터를 잘 설명하는 시그모이드 함수의 w와 b를 찾는 문제이다.

 

 

출저 : https://icim.nims.re.kr/post/easyMath/64

반응형