회사원일때 좋았던 점 = 주중엔 노답인데 주말엔 뇌빼고 놀 수 있음
회사원일때 싫었던 점 = 회사일이 내 인생으 ㅣ전부가 된 느낌 (업무 커버리지가 넓어서 주중엔 맨날 일생각만 함...)
vs
공부하니까 좋은점 = 내 맘대로 일정 짜서 공부하면됨
공부하니까 싫은 점 = 근데 그게 주말까지 이어짐
아니야 그래도 아직은....할만하다..화이팅! ^^
#5. Gradient descent in practice
Feature scaling
: 경사하강법이 더 빠르게 수행될 수 있도록 하는 테크닉 중 하나
Feature size and parameter size
Feature size와 parameter size는 서로 반비례 하게 됨
(Feature size가 클수록 이에 해당하는 parameter는 작아짐. 둘을 곱하기 때문)
→ 경사하강법 수행 시 contour plot 에서 타원에 가깝게 나타나면서 step수가 많아지는 등 성능이 떨어질 수 있음
→ 이를 방지하기 위해 x들을 rescale (e.g. 0~1사이로 정규화) 하면 contour plot이 원에 가까워지면서 경사하강법 성능이 올라갈 수 있음
How to scale Feature
Max normalization : x 를 x의 최대값으로 모든 x들을 나누면 0과 1 사이의 값으로 정규화됨
Average normalization :x를 x의 평균으로 정규화하면 x가 -1 ~ 1 사이 값으로 정규화됨 (xi - 평균값 / x의 최대값 - x의 최소값)
Z-score normalization : xi - xi의 평균값 / x의 sd(표준편차)
→ xi들의 range를 보고 너무 튀는 x (다른 애들에 비해 Range가 너무 넓거나 작을 경우)는 rescale하는 것이 좋다
Checking gradient descent for convergence
방법1. 그래프로 보기
우리의 목적이 J(w,b)를 최소화하는 것이므로, Y - J(w,b), X - epochs 인 그래프를 그려서 더 이상 J(w,b)가 작아 지지 않는 지점을 찾는 것
방법2. Automatic convergence test
epsiilon = 0.001 (or else) 로 선언하고, J(w,b)가 더이상 한 iteration에서 0.001 이상 줄어들지 않는 경우를 찾는 것
Choosing the learning rate
학습률은 0.001, 0.01, 0.1 등으로 늘려가보면서 이에 따른 J(w,b) 와 iteration간의 그래프를 보며 iteration 수에 따라 cost가 줄어드는 학습률을 찾을 수 있음
Feature engineering
데이터 특성을 바탕으로 기존 feature 바탕으로 새로운 feature를 만들어 내는 것 (조합하거나, 기존 feature를 수정하거나 등)
Polynomial regression
다항회귀는 비선형 데이터를 학습하기 위해 선형모델을 사용하는 기법. 각 변수의 거듭제곱을 새로운 변수로 추가하고 이 확장된 변수를 포함한 데이터셋에 선형모델을 훈련시킴
- 이럴 경우 feature scaling이 매우 중요해짐 (제곱하면 수가 많이 커지기 때문)
- 아니면 제곱 대신에 x에 루트를 취하는 방법도 있음