Classification
Classification
- 입력받은 데이터가 속하는 카테고리를 분류
- 스팸 필터링
- 의료 보조
- 이미지 분류(Computer Vision)
- 임의 데이터셋
- linear regression : y=ax + b꼴로 모델 형성
- 일정 카테고리로 분류되는 데이터의 경우, linear regression 적용 시 카테고리를 크게 벗어나는 데이터에 의해 오차가 커질 위험이 있음
Logistic Regression
- 데이터가 2가지 class로 분류되었음을 가정
- 예측하고자 하는 모델 범위는 [0, 1]
- 클래스가 속하는 카테고리는 0 혹은 1로 구분
- Hθ(x)=g(θTx), g(k)=[1+e−k]−1
- g(k)를 signoid 혹은 logistic 함수라 부름
- k가 무한이면 g(k)=1, -무한이면 g(k)=0
- θTx : 두 데이터 그룹을 나누는 기준선
- P(y=1∣x,θ)=Hθ(x), P(y=0∣x,θ)=1−Hθ(x)
- log-likelihood l(θ)=log(L(θ))∑i=1m[yilog(Hθ(xi))+(1−yi)log(1−Hθ(xi))]
- maximum log-likelihood : m=1 가정, ∂θj∂l(θ)=[Hθ(x)y−1−Hθ(x)(1−y)]∂θj∂Hθ(x)=[Hθ(x)y−1−Hθ(x)(1−y)]Hθ(x)(1−Hθ(x))xj=(y−Hθ(x))xj
Newton's method
- 최대/최소값을 찾는 방법
- f(x) = 0이 되게 하는 x를 탐색
- xt+1=xt−f′(x)f(x)
- J′(θ)에 대해 θt+1=θt−J′′(θt)J′(θt)
- multiple vatiant function에 대해
- xt+1=xt−H−1∇f(xt)
- (Hx)i,j=∂xi∂xj∂2f : Hessian Matrix
- Binary Classification / Logistic Regression : θTx가 0보다 큰가 / 작은가 여부로 분류
- 모델 Hθ=g(θTx), g(z)=1+e−z1
- log-lokelihood l(θ)=log(L(θ))=∑i[yiloghθ(x)+(1−yi)log(1−hθ(x))]
- gradient ascent θj=θj+mα∑iyi−hθ(xi))xji
Multinomial Classification
- 다수 클래스로의 분류
- scorej=θjTx
- j개 클래스 중 가장 높은 score인 쪽으로 입력을 분류
- score normalization : [0, 1] 내의 분포로 표준화
- p(yi∣xi,θ)=Πyi==l[∑jeθjTxeθiTx]
- log-likelihood l(θ)=log((p(y∣x,θ))=∑ilog((p(yi∣xi,θ))))
Exponential family
- linear, logistic, multivariant regression의 gradient descent는 동일 함수를 이용
- 이 세 함수를 같은 exponential family에 속한다고 칭함
- exponential family : p(y,η)=b(y)exp(ηTT(y)−a(η))
- ex. linear regression
- p(y,μ)=2π1exp[−21(y−μ)2]=2π1exp[−21y2]−exp[μy−21μ2]
- p(y,η)=b(y)exp(ηTT(y)−a(η)) 꼴에서
- b(y)=2π1exp[−21y2],T(y)=y, η=μ, a(η)=21μ2=21η2
- ex. logistic regression
- P(y=1)=ϕ, P(y=0)=1−ϕ
- P(y)=ϕy(1−ϕ)1−ϕ=exp[ylogϕ+(1−y)log(1−ϕ)]=exp[ylog(1−ϕϕ)+log(1−ϕ)]
- b(y)=1, T(y)=y, η=log1−ϕϕ, a(η)=−log(1−ϕ)=log(1+eη)
- Exponential family의 gradient descent
- θj=θj−mα∑i[Hθ(xi)−yi]xji