edwith(12)
-
[텐서플로우로 시작하는 딥러닝 기초] Lec 04: Multi-variable Linear Regression
휴가 다녀와서 2주 동안 격리를 당하느라 거의 3주 만에 노트를 작성한다. 마침 친절하게도 강의 초반에 이전 강의들을 복습시켜줬다. 지금까지 가설과, 비용함수의 개념과 비용을 최소화시키는 방법 중 하나인 경사 하강법을 배웠다. 우리가 지금까지 배운 개념은 하나의 variable에 하나의 feature가 있다. 그런데 위와 같이 하나의 변수를 가지고 정확한 예측을 할 수 있을까? 가능할 수 도 있지만 그렇지 않은 경우가 더 많을 것이다. 그래서 우리는 둘 이상의 변수를 같은 예측치를 가지고 학습을 시켜야 할 것이다. 그래서 오늘 다중 선형 회귀(Multi-variable Linear Regression)를 배울 것이다. 위와 같이 다중 변수(x1, x2, x3)를 갖는 경우이다. 이렇게 되면 차원이 증가하..
2020.08.31 -
[텐서플로우로 시작하는 딥러닝 기초] 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 -
[모두를 위한 프로그래밍 : 파이썬] 함수 (Functions)
함수는 쉽게 말해 명령(코드)들의 묶음이다. 여러 줄의 코드를 계속해서 반복 사용해야 한다면 얼마나 귀찮겠는가. 그래서 코드들을 하나의 함수 형태로 정의하여 편하게 사용할 수 있도록 한다. 프로그래밍을 하며 정말 많이 써야 하는 기본적인 기능들은 기본 내장 함수(print(), float(), int(), input()... etc)의 형태로 이미 정의되어있고 추가로 원하는 나만의 함수를 정의하여 사용할 수 있다. 함수는 인자를 받을 수 도 있고 안받을 수 도 있고, 값을 반환할 수도 있고 안 할 수도 있다. 함수는 호출되었을 때 비로소 제 기능을 한다. 함수를 정의하는 방법 def 함수이름((매개변수)) : [코드] [코드] ... (return 값) 매개 변수(Parameters)는 함수 내부에서만 ..
2020.07.27 -
[모두를 위한 프로그래밍 : 파이썬] 조건문(if,else,elif)과 예외처리(try,except)
파이썬은 1학년 때 배웠었지만 앞으로 인공지능을 다룰 것을 생각해 실력을 쌓아가려 한다. 모두를 위한 프로그래밍 : 파이썬 강좌는 edwith에서 무료로 제공하는 강의이다. 초반 챕터는 이미 알고 있는 내용들이지만 기초부터 다시 쌓아가자. 조건문은 이미 너무 익숙한 내용이지만 예외처리는 사실 처음 알았다. try와 except 문으로 명령하는데, try문 내부의 명령이 실행되다가 불가능한 명령을 만나 중단될 경우 except문 내부의 명령을 실행한다. 예제1-1)40시간을 초과한 시간의 시급을 1.5배 하여 급여 계산 프로그램 만들기 Enter Hours: 45 Enter Rate: 10 Pay: 475.0 예제1-2) try/except를 사용해 숫자가 아닌 입력값을 받지않는 급여 계산 프로그램으로 수..
2020.07.27