무냐의 개발일지
[Coursera ML Specialization] C1 지도, 비지도학습 / Week2 본문
* Linear Regression 은 Simple, Multiple, Non-linear Regression 등이 있다. 앞선 시간에서는 Simple Linear Regression을 배웠다
| Multiple Linear Regression
여러 개의 변수에 따라 결과값이 달라지는 것
(집값 = 침실갯수 + 화장실갯수 - 연식 + base price)
벡터를 사용해
| Vectorization
장점 : enables shorter, clearer, faster
특징 : Numpy 라이브러리 활용 (Linear Algebra, Machine Learning에 매우 많이 사용)
Gradient Descent for Linear Regression w/ Vectorization
| Rescaling Methods
1)Feature Scaling (-1 ~ 1 이 이상적이지만, 0 ~ 3 이나 -3 ~ 0 괜찮음)
Gradient Descent 를 훨씬 빠르게 만들어준다
각 변수별로 범위가 다르면 잘 안보일 수 있으니,
2)Mean Normalization
3)Z-score Nomalization
| Choosing the Learning Rate
Cost function J이 효율적으로 global minimum으로 수렴할 수 있도록 정해야 한다
Learning rate (알파)를 0.001 >> 0.003 >> 0.01 >> 0.03 >> ... 3배씩 늘려가면서 해본다
| How to Choose (Engineer) Features (중요한 변수 정하기!)
ex) 집값을 구할 때 어떤 요인들이 주요 변수로 작용하는가
* Feature Engineering : Using intuition to design new features, by transforming or combining original features
* Polynomial Regression : let you fit curves, non-linear functions to your data
집값은 size클수록 가격 비싸지니까 cubic(3차원) function을 쓰는게 맞지
scikit-learn 라이브러리 !! (machine learning에 매우 중요하다)