강의노트/Coursera

[Coursera] 머신러닝 Andrew Ng 강의 3주차 정리노트 - 4

잘하다연 2021. 2. 17. 14:40

Machine Learning by professor Andrew Ng in Coursera

Day 8 -The Problem of Overfitting

 

 

첫 번째 그림은 underfit or high bias된 경우이다. 모델이 데이터에 잘 적합하지 않으면 발생하는 문제이며 높은 편향이 발생하게 된다. 두 번째는 대체로 잘 적합해 좋은 모델이며 마지막으로 다항식이 매우 많은 모델은 과적합 즉 overfit or high variance를 일으킨다. 특히 과적합은 높은 분산을 가지게 되고 데이터는 적고 feature들이 많을 경우 많이 생긴다. 하지만 다른 데이터에 일반화시키지 못한다는 치명적인 단점이 존재해 과적합을 다루는 방법에 대해 소개한다.   

 feature수를 줄이거나 정규화를 사용하는 방법이다. 

 

정규화를 이용하면 필요없는 파라미터 값을 0으로 만들어 과적합을 방지해주는 방법입니다. 그래서 regularization parameter, lambda값을 매우 크게 주면 파라미터 theta값이 0에 가까워 사라지게 해주는 방법입니다. 다만 너무 lambda값을 크게 주면 모든 파라미터 theta값들이 0이 되어 절편밖에 남게 되지 않아 오히려 underfit된다는 점을 기억해야합니다. 

cost function식에 정규항을 추가해서 이 식이 min가 되는 파라미터 값을 구하면 됩니다. 이것이 정규화입니다. 

Regularized Linear Regression

위의 Gradient Descent 식을 정리하면 위와 같다.

위 항은 learning rate, 여기선 알파값이 0과 1사이에 주로 있으며 lambda값과 m이 모두 양수인 것을 생각하면 이 식은 1미만의 값을 가질 것이라는 것이 추축이 된다. 그렇게 파라미터 theta값을 조금씩 작게 만드는 역할을 할 것이다. 

 

만약 m(데이터수) < n(피처수) 이면 XT*X값이 non-invertible이다. 즉 역행렬이 존재하지 않아 구할 수 없는데 lambda항을 추가하면 ivertible이 되어 계산이 가능해진다. 

 

Regularized Logistic Regression

로지스틱 회귀인 경우에도 cost function이 다음과 같을 때 정규항을 추가할 수 있다. 

cost function을 다시 정리하자면 다음과 같고 마지막에 정규항이 추가됨을 볼 수 있다. 그리고 gradient descent알고리즘을 진행할 때 cost function을 편미분해서 theta 즉 파라미터 값에서 빼주면서 값을 조정하고 최적의 global optimum을 찾는 것으로 알고 있다. 

위와 같이 gradient descent 알고리즘이 진행이 되고 linear regression이랑 거의 유사하고 hypothesis의 식만 sigmoid함수로 되있다는 차이점이 존재한다. 

 

안드류 교수님께서 선형회귀, 로지스틱회귀, 다항분류, 정규항, 오버피팅과 같은 문제들을 다루고 배우고 이해했다면 실리콘벨리에서 수없이 많은 돈을 벌고있는 사람들과 같은 길을 잘 걸어나가고 있는 것이라고 하셨다. 그 말만 듣는데 조금 가슴이 벅찼다. 아직 멀었지만 기초를 튼튼히 다지고 하나씩 확실하게 배워나가봐야겠다.