분류 전체보기(26)
-
[텐서플로우로 시작하는 딥러닝 기초] Lab 03: Linear Regression and How to minimize cost 를 TensorFlow 로 구현하기
저번 시간에 우리의 가설 함수는 H(x) = Wx. 원점을 지나는 함수로 simplified 하기로 했다. 아직은 Gradient descent를 배우는 단계이기 때문에. 그리고 Cost함수는 아래와 같다. 이 Cost 함수를 파이썬으로 구현해보자. (텐서플로우 없는 그냥 파이썬) import numpy as np #data 설정 X = np.array([1,2,3]) Y = np.array([1,2,3]) #cost 함수 정의 def cost_func(W, X, Y): c = 0 for i in range(len(X)): c += (W * X[i] - Y[i]) ** 2 #가설과 실제 데이터 차의 제곱의 합을 return c / len(X) #평균내주기 for feed_W in np.linspace(-..
2020.08.09 -
[텐서플로우로 시작하는 딥러닝 기초] Lec 03: Linear Regression and How to minimize cost
간략화 하기 위해 H(x)에서 b를 생략하여 H(x) = Wx 라고 하고 이에 따라 Cost 함수도 간략해진다. 이 Cost 함수가 어떻게 생겨먹었는지 살펴보자. 아! 당연히 cost(W)는 W에 대한 이차함수일 것이다. 우리는 이 cost가 최소가 되는 W를 구하는 것이 목표이다. 오! cost(W)를 W로 미분하였을 때 0이 되는 값(꼭지점)의 W값이겠구나! (위 함수에서는 1) 이러한 방식의 알고리즘이 Gradient descent algorithm (경사하강법)이다. 그럼 Gradient descent algorithm이 작동하는 방법을 보자. Initial Weight에서 기울기를 구한 뒤, 그 기울기 값을 W에 곱한 값을 W에서 빼준다. 이를 계속해서 반복하는데 그럼 W값은 꼭지점으로 이동할 ..
2020.08.05 -
[텐서플로우로 시작하는 딥러닝 기초] Lab 02: Simple Linear Regression 를 TensorFlow 로 구현하기
import tensorflow as tf x_data = [1, 2, 3, 4, 5] y_data = [1, 2, 3, 4, 5] W = tf.Variable(2.9) b = tf.Variable(0.5) # hypothesis = W*x+b hypothesis = W*x_data+b #cost(W,b) cost = tf.reduce_mean(tf.square(hypothesis - y_data)) reduce_mean 은 평균을 내는 함수인데 reduce는 차원의 감소를 의미한다. cost를 최소화 하는 알고리즘 중 Gradient descent는 경사를 줄이면서 cost가 minimize되는 W와 b를 찾는다. 우리의 데이터를 보아 W값은 1, b값은 0에 가까운 값이 나와야 할 것이다. # Lea..
2020.08.04 -
[텐서플로우로 시작하는 딥러닝 기초] Lec 02: Simple Linear Regression
OSAM 강의에서 이 강의로 넘어오게 된 이유는 아래 글에.. 2020/08/03 - [AI] - [OSAM] 2. Training set과 Test set, Overfitting과 Underfitting Regression Regression 은 정확하게 "Regression toward the mean" - Sir Francis Galton (1822~1911) : 어떤 데이타들이 크거나 작거나 하는 값들이 나와도 전체의 평균으로 회귀하려는 특징이 있다는 의미로 통계적 원리를 의미한다. Linear Regression 한 마디로 데이타를 가장 잘 대변하는 직선의 방정식을 찾는 것. 대표적인 예시로는 Predicting exam score : regression. 공부한 시간과 점수의 상관관계가 있겠다..
2020.08.04 -
[OSAM] 2. Training set과 Test set, Overfitting과 Underfitting
Supervised learning : 입력값에 대한 정답을 가지고 연관관계를 찾도록 학습시킨다. 학습 데이터를 Training set과 Test set으로 나누어 이용함에 따라 Training set에서의 overfitting을 방지한다. 학습을 계속 시킬수록 Training set의 정확도는 계속해서 증가할 것이다. 그러나 필요 이상으로 학습되어 Overfitting 될 경우 Test set에서의 정확도는 점점 떨어진다. 대개 Training set : Test set = 8:2 또는 9:1 정도로 한다. 데이터를 Training set과 Test set으로 나눠 사용하면 Test set에 과적합(overfitting) 될 수 있기 때문에 Validation set을 또 나누어 이용하여 모델들의 적정..
2020.08.03 -
[OSAM] 1. 머신러닝의 개념 (OT)
이 강의는 깊은 지식을 요구하지 않는 머신러닝에 대한 기초적인 강의이다. 프로그래밍 : 일련의 로직. 머신러닝 : 사람이 일일이 조건에 따라 어떻게 행동 할 지 정해주지 않아도 된다. 크게 두 분류 Supervised Learning : 지도학습. 정답이 있는 학습. Find x->y relationship. Need labels (y : 정답) Unsupervised Learning : 데이터만 주고 정답을 주지 않는다. ex) Clustering : 군집화. 데이터들을 묶는다. -> 비슷한 음악이나 영화 들을 추천하는데 응용 가능. 이 강의는 Keras 라는 프레임워크를 사용할 것이다.
2020.08.03