스파크는 선형 회귀 알고리즘의 RDD 기반 구현을 제공한다. 

https://spark.apache.org/docs/latest/mllib-linear-methods.html#regression




SGD(stochastic gradient descent)를 사용해 정규화가 필요 없는 선형 회귀 모델을 학습시킬 수 있다. 이는 다음과 같은 최소 제곱 회귀(least squares regression) 공식을 풀 수 있다.


정규화가 없는 선형 회귀 모델은 최소 제곱 회귀 공식을 사용할 수 있다는 뜻인데. 이게 즉, 평균 제곱 오차와 같다는 내용입니다. 


https://thebook.io/006958/part02/ch03/03/



f(가중치) = 1/n ||A 가중치-y||2 (즉, 평균 제곱 오차(MSE, mean squared error)다)




여기서 데이터 행렬은 n개의 로우를 가지며, 입력 RDD는 A의 로우 셋을 보유하고 각각은 해당 오른쪽 레이블 y를 가진다. 





https://github.com/apache/

spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/regression/LinearRegression.scala를 참조한다.





참고로, 예측값과 타깃값의 차이를 제 곱하여 더한 후에 샘플의 개수로 평균을 내면 평균 제곱 오차입니다.

https://en.wikipedia.org/wiki/Mean_squared_error






Posted by 김용환 '김용환'

댓글을 달아 주세요