요즘 머신러닝 학습을 위해서 이것저것 들어보았는데 그나마 가장 이해가 잘 되는 동영상을 찾았다.
https://www.youtube.com/watch?v=kPxpJY6fRkY&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=8
▶ linear regression 에서 가장 중요한 3가지
Hypothesis – 가설
Cost function (제곱) : U자형 그래프가 나옴
Gradient descent algorithm (cost 최적화) : 경사면을 미적분을 구해 W와 B의 최적화 값을 찾는다.
좀더 자세한 설명은 위에 첨부한 유튜브 강의에 Lec02와 Lec03을 참고하길 바란다.

▶ input이 여러개가 된다면?

위에 보이는 그림과 같이 그전에는 하나의 input만 고려했다면 여기서는 x1, x2, x3 3개의 input을 즉, 여러개의 input을 고려한다. 그렇다면 linear regressiond의 중요한 점 3가지가 어떻게 되는지 살펴보자.

Hypothesis

Cost function
그런데 수식이 많아질수록 수식은 옆으로 한 없이 길어질 것이다. 이 때 우리는 Matrix 곱셈을 이용하면 문제를 해결할 수 있다. 그럼 어떻게 이용하는지 살펴보자.
▶Hypothesis using matirx

x들을 앞단에 두고 w를 뒷단에 세로로 두고 matirx곱하기를 한다.

그렇다면 위에 그림을 보자. x는 표에 instance(행의 갯수)의 수대로 주어질 수 있다. (5 x 3) 과 (3 x 1)를 이전 매트릭스 식에서 각각 인스턴스를 한번씩 계산한 것과 똑같이 연산값이 한번에 구해진 수 있다.
여기서 주의 할 점은 . (5 x 3) 과 (3 x 1)에서 처음 행렬의 열(3)과 다음 행렬의 행(3)의 숫자가 같아야 한다는 점이다!!
그래야함 (5 x 1)의 행렬이 되기 때문이다.

그렇다면 우리는 최종적으로 위에 ? 값을 추론할 수 있다. ( n x 3 )을 주면 (n x 2)의 결과가 나온다.
그러면 우리는 ( 3 x 2 )의 w 행렬을 곱해줘야된다.
▶결론

실제로 구현할 떄는 x를 주면 별도의 처리가 없이 matrix의 곱만 없이 처리가 가능해진다.
▶ 텐서플로우 코드
연습해볼 수 있는 예제코드는 동영상 url에 첨부되어있으니 참조하길 바란다.
'PROJECT' 카테고리의 다른 글
[딥러닝 + TensorFlow] 딥러닝의 기본 개념 (0) | 2020.02.27 |
---|---|
[딥러닝 + TensorFlow] logistic_regression (0) | 2020.02.20 |
[부스트코스 TensorFlow] Machine Learning 용어 와 개념과 Simple Linear Regression (0) | 2020.01.29 |
[docker]도커란 & 도커 설치법 (0) | 2020.01.29 |
[Centos7 & Hadoop] 환경설정부터 설치까지 (0) | 2020.01.22 |