B-Hanbit |Python |Day. 270 |
한 번에 끝내는 딥러닝/인공지능 초격차 패키지 Online
[이론 학습 // Day. 270]
ML 기초 / CH01_03. 선형회귀, 로지스틱 회귀 그리고 log-likelihood
#460DaysOfCode _ 202212221
해당 게시물은 'fastcampus'에서 운영하는 온라인 강의를 직접 구매하여 작성되었습니다.
'한 번에 끝내는 딥러닝/인공지능 초격차 패키지 Online'을 기반으로 작성되었습니다.
학습 후, 학습한 내용을 토대로 개인적으로 작성된 단순 학습 결과물임을 알려드립니다.
해당 MOOK에서 제공되는 자료는 일절 포함되어있지 않습니다.
문제 시 연락바랍니다.
#460DaysOfCode #Day270
[270일 차 학습]
[Part5. 딥러닝 기초 알고리즘 및 최신 트렌드 알고리즘]
[ML 기초]
[CH01_03. 선형회귀, 로지스틱 회귀 그리고 log-likelihood]
- 지도학습
- 분류 문제(Classification): 이산적으로 구성된 레이블을 각각의 학습데이터로부터 학습시키는 경우.
x데이터 y레이블의 경우, (x, y)처럼 각각의 세트의 형태로 구성이 되어있음.
하나하나 구분되어 서로가 연속적이지 않게 분류되어있음.
> 강아지, 고양이
- 회귀 분석 문제(Regression): 연속적인 레이블을 각각의 학습 데이터로부터 학습시키는 경우.
x데이터 y레이블의 경우, (x, y)처럼 각각의 세트의 형태로 구성이 되어있음.
이때 y가 연속적으로 구성이 되어있음.
> 주식금액, 현금액, 생체신호
> 알파고 경우의 수를 확률적으로 추론하므로 회귀분석 사용
- 선형 회귀 문제(Linear Regression)
- 선형회귀로 이항분류(binary classification) 하기.
선형 == 일차함수 형태 > y=mx+b 꼴 == f(x) = θ1x + θ0 라고도 할 수 있음
선형 회귀 점으로부터 윗부분과 아랫부분(혹은 왼쪽부분과 오른쪽부분)으로 나눌 수 있음.
(수식)
실제 yi가 레이블의 경우, 예측 된 y의 확률 값이 ŷ이라고 표현 시 다음과 같은 식이 나옴.
n n n
RSS = Σ (yi - ŷi)^2 = Σ (yi - f(xi)) = Σ (yi - (θ0 + θ1xi))^2
i i i
최적화 > f(x) > f(x) 대입
해당 식은 RSS 즉 손실함수의 값 == f(x)의 에러의 제곱의 합을 목적으로 함수 최소화하여 최적의 함수를 찾음 == 최적화를 한다는 것은 미니멈과 맥시멈을 찾는다는 것
n
Σ (yi - (θ0 + θ1xi))^2 라는 최소화 된 식의 최솟값은 미분하면 0이 되는 값.
i
곧, 해당 최소화된 식의 최솟값 == 미분한 값이 0
* 이차함수에서 미분 값이 0이 되었을 경우, 최대이거나 최소의 확률이 있기 때문.
- θ0에 대해서 RSS값 미분
δRSS n
ㅡㅡㅡ = Σ -2(yi - (θ0 + θ1xi)) = 0 => θ0 = E[y] - θ1E[x]
δθ0 i
*Chain Rule 적용
위 식을 대입하면 다음과 같다. 이는 θ1을 구하기 위한 것.
n
RSS = Σ (yi - (θ0 + θ1xi))^2
i
n n
= Σ (yi - (E[y] - θ1E[x]) - (θ1xi))^2 = Σ (yi - E[y] - θ1(xi - E[x]))^2
i i
θ0 대입 > θ1으로 묶어서 정렬
θ0과정과 동일하게 θ1에 대해서 미분을 진행.
δRSS n
ㅡㅡㅡ = Σ - 2(xi - E[x])(yi - E[y] - θ1(xi - E[x])) = 0
δθ0 i
*Chain Rule 적용
n
Σ (yi - E[y])(xi - E[x])
i=1
=> θ1 = ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 결과 도출.
n
Σ (xi - E[x])^2
i=1
- 로지스틱 회귀 문제(Logistic Regression)
- 로지스틱 회귀로 이항분류(binary classification) 하기.
(이론적으로 계속 나옴 > 딥러닝이 비선형, 시그모이드 함수를 사용하기 때문)
S 가 형태의 그래프.
연속함수이며, 대칭함수(symmetric). 미분이 매우 쉬워 그래디언트 디쎈트에 적합함.
1
== f(x) = ㅡㅡㅡㅡ
1+e^-x
ㄴ 시그모이드 함수, 로지스틱 함수 라고 불림
(수식)
미분이 조금 더 쉽게 만듦.
d d 1 1 (1+e^-x) - 1
ㅡ f(x) = ㅡ ㅡㅡㅡㅡ = ㅡㅡㅡㅡㅡㅡ e^-x = ㅡㅡㅡㅡㅡㅡ
dx dx 1+e^-x (1+e^-x)^2 (1+e^-x)^2
1 1
= ㅡㅡㅡ - (ㅡㅡㅡ)^2 = f(x) - f(x)^2
1+e^-x 1+e^-x
- 로지스틱 회귀를 사용한 로그 우도법(Log Likelihood)(= 로그 가능도)
현재 이항분류를 진행하고 있으므로, 각 값은 0 혹은 1로 예측 됨. 연속적 X.
즉, 베르누이 분포를 따른다고 할 수 있음.
ㄴ 동전 앞 뒷면 1/2, 주사위 확률 1/6
(수식)
시그마 σ = 시그모이드 가정 > 어떤 입력값에도 시그마는 0~1사이 확률이 나오게 된다.
Y ~ Ber(p),p = σ(θx)
이를 베르누이 분포에 대하여 표현을 해주면 이렇다.
다음을 대입한다. P^y(1 - P)^1 - y (시그모이드 함수)
P(Y = y|X = x) = σ(θx)^y * (1 - σ(θxi))^1 - yi
우도법 즉, 가능도(Likelihood)(= L(θ))는 다음과 같다. 독립적으로 i에 대해서 모든 확률을 곱한 것.
L(θ) = П P(Y =y^i|X = x^i) = П σ(θxi)^yi * (1 - σ(θxi))^1 - yi
i i
이런 가능도(우도)를 최대로 하는 최적의 θ를 구하는 것이 목표이므로 위 식을 최적화 해준다.
먼저 log를 씌워주어 보기 편하게 바꾼다. (log a * b = log a + log b 성질 이용) 고로 시그마로 변환.
log(L(θ)) = Σ [yi log(σ(θxi) + (1 - yi) log(1- σ(θxi))]
i
이에 해당 함수를 최대로 하기보다, 음수를 취해서 줄이는 방향을 한다. 고로 손실함수를 계산 할 것이다.
min J(θ) = min(- Σ [yi log(σ(θxi) + (1 - yi) log(1- σ(θxi))]
θ θ i
함수가 아래로 볼록한 형태를 띄기 때문에, 지그재그로 내려오는 모양,
'그래디언트 디센트'로 최적화 문제를 최종적으로 풀 수 있다.
그리고 이는 크로스 엔트로피와 같다.
댓글 없음:
댓글 쓰기