본문 바로가기
COURSERA/Supervised Machine Learning

[Courasera] [3week] Classification : 머신러닝 특화과정

by 호상 🐧 2023. 2. 6.

본 게시물은 Courasera Andrew Ng 교수님의 머신러닝 특화 과정

Supervised Machine Learning : Regression and Classification

3week 을 summary 한 것입니다.


linear regression을 사용하면 예측 결과가 음수이거나 1보다 큰 숫자가 될 수 있다.

그러나 이진 분류 문제에서는 predict가 0 또는 1이어야 한다.

따라서 이진분류에서는 로지스틱 회귀를 사용힌다.

 

Logistic Regression은 0 1을 출력 하는 함수로 표현된다.

그림에서와 같이 g(x) 0 1 사이의 값을 나타내는 시그모이드 함수로 표현할 수 있다.

 

따라서 sigmoid 함수는 입력 값 x와 매개변수 w b에 대해 y 1일 확률을 나타낸다고 할 수 있다.

 

로지스틱 회귀에서 w b의 값을 구하는 방법은 선형회귀에서 사용한 cost function의 format을 사용한다.

그러나 가설함수는 선형함수가 아닌 비선형함수를 사용한다.

따라서 로지스틱 회귀에 대한 cost function은 convex하지 않은 그래프로 나타난다.

문제점이 있다면, 이는 local minimum에 빠질 수 있는 문제가 발생한다.

 

따라서 손실함수를 위와 같이 변경하는데

 

Y=1인 경우 로그 함수가 1에 가까울수록 예측이 잘 되므로 비용은 0으로 수렴하게 되고

( label 이  1 인데 예측도 1로 했을 경우 cost 는 0으로 수렴하는 것이 맞다. )

Y=0인 경우 로그 함수가 0에 가까울수록 예측이 잘 되므로 비용은 0으로 수렴하게 된다.

( 반대로 label 이  0 인데 예측도 0로 했을 경우 cost 는 0으로 수렴하는 것이 맞다. )

 

위 그래프를 보면 이해하기 쉬울 것이다.

 

 따라서 loss function과 cost function은 그림과 같이 나타낼 수 있다.

 

cost function을 최소화하는 매개변수를 찾기 위해 로지스틱 회귀도 경사하강법을 사용한다.

선형 회귀와 같은 방식으로 알고리즘을 적용할 수 있다.

 

Overfitting은 세 번째 그래프에서 보듯이, 학습된 가설 함수가 복잡해질수록 train set에 잘 맞지만,

새로운 데이터에 대해서 일반화된 예측을 하지 못하는 경우가 발생한다.

 

Overfitting 을 피하는 방법은 3가지 정도 있는데

data를 늘리던가

feature selection 을 하던가

정규화를 하는 것이다.

 

높은 차수의 다항식을 학습하면 데이터가 과적합 되기 쉽다.

따라서 위의 그림과 같이 w3 w4를 최소화하는 방법을 사용한다.

예를 들어 w3 w4에 비용 함수의 매우 큰 값을 곱해버리면 cost function 에서 높은 cost 가 발생할 것이고,

모델은 cost를 최소화하기를 원하기 때문에 이는 gradient descent 중 weight 을 update 할 때,

w3 w4를 더 작게 만들려고 할 것이다.

 

, 정규화는 위와 같은 느낌으로 가설 함수를 단순화하고 매개변수를 줄임으로써 과적합을 줄일 수 있다.

일단 많은 feature 중 어느 것을 줄여야 할지 모르기 때문에 모든 특성에 페널티를 부여하고 람다를 통해 조정할 수 있다.

 

선형 회귀 역시 비용 함수에 정규화를 추가하고 식을 구성할 수 있다.

 

 또한 로지스틱 회귀도  위와 같은 방식으로 정규화를 사용한 식으로 표현 할 수 있다.

 

 

느낀점 🙋‍♂️

본 강의에선 회귀와 분류의 대해 좀 더 개념과 수식적으로 접근하여 이해하는데 좀 어려웠던 것 같다. AI 의 기본 개념이 되는 수식들은 그냥 본다고 이해가 된다면 좋겠지만, 난 그렇게 머리가 좋지 않다는 것을 느꼈고, 몇번 그려보거나 시간을 들여 이해할 수 있었던 것 같다. 특히 정규화 일반화 이런 단어들이 많이 햇갈리기도 하고 cost function 과 loss function 같은 것들도 햇갈리곤 한다. 이번에 강의를 듣고 개념을 정리하는 시간을 갖어야 겠다는 생각도 든다.

댓글