티스토리 뷰
사실 딥러닝 보다는 머신러닝에 더 가까운 개념이지만 머신러닝이 딥러닝을 포함하고 있어서 공부해보았다.
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
'딥러닝' 카테고리의 다른 글
딥러닝 - 04. 신경망 (3) 출력층 설계 (0) | 2019.02.21 |
---|---|
딥러닝 - 04. 신경망 (2) 3층 신경망 구현 (0) | 2019.02.19 |
딥러닝 - 04. 신경망 (1) 활성화, 계단, 시그모이드 함수 (0) | 2019.02.19 |
딥러닝 - 03. 퍼셉트론 (0) | 2019.02.12 |
딥러닝 - 01. 기본적인 용어와 개념 설명 (0) | 2019.02.07 |