linear regression
linear regression 이란 말은 입력값이 변할때 출력값이 linear하다는 가설을 기반으로 한 regression 이다.
가령 공부를 오래하면 공부를 잘한다와 같은 명제는 사실일 확률이 높은데, 이렇든 linear한 모델을 의미한다.
linear regression에서는 training data를 받아 학습을 하며 결과적으로 다음과 같이 적당한 직선을 찾는 것이 주 목적이다.
위의 cost function은 W와 b에 관한 함수인데, 이 cost function을 최소로 하는 w와 b를 찾는것이 linear regression의 핵심 목표이다.
Gradient Descent Algorithm
linear regression에서의 핵심은 cost function을 최소값을 찾아내는 것이며, 대부분의 convex function에서는
경사로 타고 내려가는 알고리즘을 의미하는 gradient descent algorithm을 많이 사용한다.
이 알고리즘은 마치 산을 내려갈 때 경사가 아래인 방향으로 계속 이동하는 것 처럼 미분값을 기준으로 아래 방향으로 이동하는 알고리즘이다.
cost가 최소인 지점을 찾기 위해 수행하는 알고리즘으로 최소값이 유일해야 하므로 convex function에서만 적용이 가능하다.
multi variable regression
weight와 x가 vector의 형태를 가진다.
파이썬에서 array를 선언할 때1
A=[[x1(1), x2(2)], [x1(1), x2(2)], ...]
이런식으로 나열을 하면 이는 실제로는 다음과 같다.
load data from file
example1
2
3
4
5
6import tensorflow as tf
import numpy as np
xy = np.loadtxt('train.txt', unpack=True, dtype='float32')
x_data = xy[0:-1]
y_data = xy[]
Comments