👩‍💻LEARN : ML&Data/Lecture

[Supervised Machine Learning: Regression and Classification] #4. Multiple linear regression

쟈니유 2023. 3. 25. 15:43
728x90

네니요

 

코세라 지도학습 강의 2주차엔 다중회귀와, 다중회귀에 따른 경사하강법을 학습하게 된다.

다중회귀 그냥 파이썬으로 돌릴땐 참 쉬웠는데 ... (아련

 


#4. Multiple linear regression 

 

Multiple features 

표기방식 협의

- i번째 집에 대한 특징을 벡터로 나타낼때 표기법과 i번째 집의 j번째 특징을 나타날때 표기법 헷갈리지 말기 

- f(x) = w1*x1 + w2*x2 + w3*x3 ... +b = 결국 w의 벡터들과 x의 벡터들간의 매칭곱 + b 로도 표현 가능 

 

Vectorization

w = [w1, w2, w3]  n=3

x = [x1, x2, x] 

b = 상수 

→ numpy 사용 시 np.array([w1,w2,w3])으로 선언 가능 

 

벡터가 없다면 아래처럼 수행해야 함 

- 하나하나 합치기 : w1*x1 + w2*x2 + w3*x3 ... +b  

- 반복문 사용하기 : for i in range (0,n) : f = f + w[j] * x[j]  \ f=f+b 

 

벡터가 있다면 단순하게 가능

- 벡터간 매칭해서 곱하고 b를 더해라 : f = np.dot(w,x) + b 

병렬 처리란 이런것이다...

- 경사하강법을 구할때에도 넘파이를 이용한 벡터를 사용하는 것이 도움이 됨. parameter가 늘어나거나 n 수가 높아지면 더욱 도움이 됨 

 

Gradient descent for multiple linear regression 

기존에 학습한 경사하강법의 경우 변수가 한개인 경우로 학습했으나, 다중회귀의 경우엔 x가 n개이고 w가 n개 이므로 w에 대한 업데이트 식이 n개 (w1~wn까지) 있다고 보면 됨. 다만 b의 경우 한개이므로 일원회귀와 동일하게 볼 수 있음 

참고. Normal equation(정규방정식?)

선형회귀에서만 먹히는 방식으로 기존 경사하강법처럼 반복하지 않고 w,b를 구할 수 있음 

다른 알고리즘에서는 적용되지 않으며 featrue수가 만개 이상이 될 경우 느려지는 단점이 있음

사용하는 머신러닝 라이브러리 백단에서 선형회귀 시 경사하강법 대신 이를 사용하는 경우가 있으니 참고해야 함