: 너무 많은 features를 가지게 되면, 학습된 가설이 training set에서는 매우 잘 맞을 수 있지만, 새로운 예시들에 대해서는 일반화하지 못할 수 있음

- Underfit (High Bias): 문제 복잡도보다 파라미터 수가 적음
- Overfit (High Variance): 문제 복잡도보다 파라미터 수가 너무 많음 -> Generality가 없음
Bias ~ accuracy
Variance ~ precision- Bias (편향)
: 모델이 얼마나 단순하게 데이터의 패턴을 학습했는지를 나타냄- Variance (분산)
: 모델이 훈련 데이터의 세부적인 부분까지 지나치게 학습했는지를 나타냄

-> 살아돌아온 비행기가 공격당한 부분을 강화하는게 아닌, 공격당하지 않은 부분(중요한 부분이 공격당하지 않아서 살아돌아왔기 때문)을 강화해야 함

-> 사람이 data labeling을 하기 때문에, labeling 오류가 있을 수 있다는 것을 고려해야 함
1) feature 수를 줄이기
-> 2번이 더 좋음

-> theta값을 0에 가깝게 만들면, 영향이 감소함

-> 손실함수 J(theta)에 Regularization term을 더해줌
-> 람다: Regularization parameter
-> theta0은 Bias term이므로 Regularization에서 제외!
<lambda 값의 크기 설정>
- lambda가 너무 작으면: Overfitting
- lambda가 너무 크면: Underfitting


-> theta 0은 bias term이므로 theta 1부터 정규화 term 추가하여 업데이트 (범위 주의)

-> theta를 계속 업데이트하면, alpha * lambda / m가 항상 양수이므로 계속 theta가 줄어들게 됨
-> 1 - 양수 < 1
기존 Normal Equation

정규화된 Normal Equation




-> XT X에 lambda * I를 더하여 역행렬이 가능하게 만듦 (Invertible)
Cost function

-> 정규화 항은 j = 1부터 시작
Gradient descent

-> h(x)함수: Sigmoid

-> theta 0 은 bias term이라 정규화 안함 주의