티스토리 뷰

딥러닝

딥러닝 - 02. Linear regression

김한성 2019. 2. 9. 00:32

사실 딥러닝 보다는 머신러닝에 더 가까운 개념이지만 머신러닝이 딥러닝을 포함하고 있어서 공부해보았다.

Linear regression 

가설(Hypothesis)과 비용함수(Cost function)


1차 방정식으로 세울수 있다.

H(x) = W * x + b


가설 세우기

아래 그림의 기울기 선중에서 우리가 가지고 있는 데이터 중에 어떤 선이 제일 알맞는 선일까를 찾는게 목표

x의 값에 W라는 것을 곱하고 b를 하면 기울기가 나온다.

즉 W와 b의 값에 따라 다른 선들이 나타게 되는 것


그림의 기울기를 대충 구해보면 아래와 같다.

파란색은 H(x) = 1 * x + 0

노란색은 H(x) = 0.5 * x + 2


이 둘중에 W와 b가 어떤게 더 좋은것인가 알아야하는것

[그림 1]



[그림 2]를 보면

가설이 나타내는 점들과의 거리를 비교해서 거리가 멀면 적합하지 않은 것 가까운거는 적합한 것이다.


이것을 regression 에서 거리를 측정하는것을 Cost funcion이라고 한다. 또 다른 이름으로는 Loss function

우리가 세운 가설과 실제 데이터가 얼마나 다른가 나타남

그래프를 보면 H(x) - y 차를 계산하는것이다. 이게 기본적이지만 이건 좋지 않다 왜냐하면 +가 될수도 있고 -가 될수도 있기 때문


(H(x) - y)^2 제곱을 하면 양수든 음수든 양수로 판단할수있다

[그림 2]


조금더 세세하게 정리하자면 밑에 [그림 3]을 보자

x와 y의 값이 3개가 있는데 당연히 데이터가 3개라서 각각 더하고 3개의 평균을 내기 위해 3으로 나눈다. 


근데 데이터의 개수가 3개가 아니라 100개일수도있고 많이 있을수도 있으니

시그마 식을 사용한다.

 m = 데이터의 개수 즉 지금은 3개 1부터 m개까지 더함

(H(x^i) - y^i)^2 이걸 m으로 나눈 값이다.

[그림 3]



참고한 유튜브: https://www.youtube.com/channel/UCML9R2ol-l0Ab9OXoNnr7Lw

댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31