무냐의 개발일지

[Coursera ML Specialization] C1 지도, 비지도학습 / Week2 본문

Coursera

[Coursera ML Specialization] C1 지도, 비지도학습 / Week2

무냐코드 2024. 1. 9. 18:17

* 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 를 훨씬 빠르게 만들어준다

각 변수별로 범위가 다르면 잘 안보일 수 있으니, 

범위의 maximum 값으로 나눠준다

 

2)Mean Normalization

(값-평균) / (max-min)

 

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을 쓰는게 맞지

이런 식으로 어떤 feature과 몇 차 식을 쓸 지 정할 수 있다

 

scikit-learn 라이브러리 !! (machine learning에 매우 중요하다)