SlideShare a Scribd company logo
© 2018 Bevis Lee / email : byzun0@gmail.com
Lec 01 : 수업의 개요
2© 2018 Bevis Lee / email : byzun0@gmail.com
Lec 01 : 수업의 개요
머신러닝을 잘 이해하고 활용해야만 “superpower”를 가질 수 있음
Lec 01 : 수업의 개요 - https://www.youtube.com/watch?v=BS6O0zOGX4E
3© 2018 Bevis Lee / email : byzun0@gmail.com
Lec 01 : 수업의 개요
Audience (학습 대상)
• 머신러닝에 대해 궁금증을 가진 사람
• 수학 / 컴퓨터 사이언스의 배경지식이 없는 사람
- y = W * x + b ( y = a * x + b) : 이 정도의 수학을 이해 할 수 있으면 따라 올 수 있음
• 머신 러닝 이란 블랙 박스로 이해하고, input(x) 와 output(y)만 이해해도 가능
• Tensorflow 와 Python을 사용하고 싶은 사람
Goals (학습 목표)
• 머신러닝에 대한 기본적인 이해
- Macine Learning : Linear regression, Logistic regression (classification)
- Deep Learning : Neural networks, Convolutional Neural Network, Recurrent Neural Network
• 자신이 가지고 있는 어떤 문제를 해결
- Tensorflow 와 Python 사용
Lec 01 : 수업의 개요 - https://www.youtube.com/watch?v=BS6O0zOGX4E
© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lec 01 – 기본적인 ML의 용어와 개념 설명
5© 2018 Bevis Lee / email : byzun0@gmail.com
Machine Learrning
• Supervised Learning (지도 학습)
- 정해져 있는 데이터 (lable을 가지고 있음) -> 다른 말로는 training set
- Image Labeling : 이미지의 태그를 통한 학습
- Email Spam Filter : Email Spam or Ham 레이블을 통한 학습
- Predicting Exam Score : 학습 시간을 통한 학습
- 예
• Unsupervised Learning (비지도 학습)
- Google News : 자동적으로 grouping (lable을 가지고 있지 않으나, 자동적으로 처리)
- Word : 자동적으로 Clustering
ML Lec 01 – 기본적인 ML의 용어와 개념 설명
ML Lec 01 – 기본적인 ML의 용어와 개념 설명 - https://www.youtube.com/watch?v=qPMeuL2LIqY
Machine Learrning
• Explicit Programming (정확한 프로그래밍)
- Spam Filter : 많은 경우(Rules)를 가지고 있어, 프로그래밍으로 처리가 어려움
- Automatic Driving : 많은 경우(Rules)를 가지고 있어, 프로그램으로 처리가 어려움
• Machine Learning (Arthur Samuel / 1959) : 개발자가 어떻게 해야할지를 정하지 않고, 어떤 현상에서 자동으로 학습
하는 능력을 가진 프로그래밍
6© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lec 01 – 기본적인 ML의 용어와 개념 설명
ML Lec 01 – 기본적인 ML의 용어와 개념 설명 - https://www.youtube.com/watch?v=qPMeuL2LIqY
Training Data Set
X
Y
(lable)
3,6,9 3
2,5,7 2
2,3,5 1
Machine
Learning
Training Data
Test Data
X
9,3,6
Y
(lable)
3
Predict
7© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lec 01 – 기본적인 ML의 용어와 개념 설명
ML Lec 01 – 기본적인 ML의 용어와 개념 설명 - https://www.youtube.com/watch?v=qPMeuL2LIqY
Supervised Learning 종류
• Predicting final exam score ( 0 ~ 100 ) : 학습 시간을 통한 학습
- regression
• Pass / Non-Pass : 학습 시간을 통한 학습
- binary classification
• Letter Grade ( A, B, C, D, E, F ) : 학습 시간을 통한 학습
- multi-label classification
© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 01 – TF의 설치 및 기본적인 OP
9© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 01 – TF의 설치 및 기본적인 OP
ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s
Tensorflow
• Data Flow Graph를 사용해서 Numerical 한 계산을 함
• Python으로 Tensorflow 사용
Data flow Graph (데이터 플로우 그래프)
• 데이터 플로우 그래프는 노드(Node) 와 엣지(Edge)를 사용
한 방향 그래프(Directed Graph)로 표현
• 노드(Node) : 수학적 계산, 데이터 입/출력, 그리고 데이터의 읽
기/저장 등의 작업을 수행 (하나의 OP [operations])
• 엣지(Edge) : 노드들 간 데이터의 입출력 관계를 나타냄
• 엣지(Edge) : 동적 사이즈의 텐서(다차원 데이터 배열)를 실어
나르기 때문에, 텐서플로우라는 이름으로 지어짐 (data array /
tensor)
10© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 01 – TF의 설치 및 기본적인 OP
ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s
Tensorflow Hello World!
11© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 01 – TF의 설치 및 기본적인 OP
ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s
Computational Graph
12© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 01 – TF의 설치 및 기본적인 OP
ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s
Computational Graph
13© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 01 – TF의 설치 및 기본적인 OP
ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s
Computational Graph
14© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 01 – TF의 설치 및 기본적인 OP
ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s
Placeholder
15© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 01 – TF의 설치 및 기본적인 OP
ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s
Placeholder
16© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 01 – TF의 설치 및 기본적인 OP
ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s
Tensor
텐서(Tensor : 다차원 배열)
• 텐서는 기본 자료구조이며, 그래프에서 Edge를 따라 흐르는 값을 의미
• 텐서는 다차원 배열과 리스트로 구성
• 텐서는 Rank, Shape, Type 세 가지의 매개변수를 가짐
• Tensor = Rank(차원) + Shape(행, 열) + Type(타입)
© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명
18© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명
ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 - https://www.youtube.com/watch?v=Hax03rCn3UI
regression
• Linear regression : 세상에 많은 데이터 / 현
상이 설명됨
• 예) 공부를 오래하면 시험 성적이 좋다
• 예) 아파트 크기가 크면 아파트 가격은 비싸다
19© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명
ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 - https://www.youtube.com/watch?v=Hax03rCn3UI
regression
20© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명
ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 - https://www.youtube.com/watch?v=Hax03rCn3UI
cost function
• (H(x) – y) ^ 2 하면, 실제값과 예측값의 차이가 + / - 에 상관없이 차이를 계산하며, 더 차이가
클 경우에 패널티를 부여하여 많이 사용
21© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명
ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 - https://www.youtube.com/watch?v=Hax03rCn3UI
cost function
• Linear regression 에서는 cost가 가장 작은 W 와 b를 구하는것이 목표
© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression
23© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression
ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg
Hypothesis and cost function
1. 회귀 분석
• 점들이 퍼져있는 형태에서 패턴을 찾아내고, 이 패턴을 활용해서 무언가를 예측하는 분석. 새로운 표본을 뽑았을 때
평균으로 돌아가려는 특징이 있기 때문에 붙은 이름. 회귀(回歸 돌 회, 돌아갈 귀)라는 용어는 일반적으로 '돌아간다'는
정도로만 사용하기 때문에 회귀로부터 '예측'이라는 단어를 떠올리기는 쉽지 않다.
2. Linear Regression
• 2차원 좌표에 분포된 데이터를 1차원 직선 방정식을 통해 표현되지 않은 데이터를 예측하기 위한 분석 모델. 머신러
닝 입문에서는 기본적으로 2차원이나 3차원까지만 정리하면 된다. 여기서는 편의상 1차원 직선으로 정리하고 있다.
xy축 좌표계에서 직선을 그렸다고 생각하면 된다.
3. Hypothesis
• Linear Regression에서 사용하는 1차원 방정식을 가리키는 용어로, 우리말로는 가설이라고 한다. 수식에서는 h(x) 또는
H(x)로 표현한다.
• H(x) = Wx + b에서 Wx + b는 x에 대한 1차 방적식으로 직선을 표현한다는 것은 모두 알 것이고, 기울기에 해당하는
W(Weight)와 절편에 해당하는 b(bias)가 반복되는 과정에서 계속 바뀌고, 마지막 루프에서 바뀐 최종 값을 사용해서
데이터 예측(prediction)에 사용하게 된다. 최종 결과로 나온 가설을 모델(model)이라고 부르고, "학습되었다"라고 한
다. 학습된 모델은 배포되어서 새로운 학습을 통해 수정되기 전까지 지속적으로 활용된다.
4. Cost (비용)
• 앞에서 설명한 Hypothesis 방정식에 대한 비용(cost)으로 방정식의 결과가 크게 나오면 좋지 않다고 얘기하고, 루프를
돌 때마다 W와 b를 비용이 적게 발생하는 방향으로 수정하게 된다. 놀랍게도 미분이라는 수학 공식을 통해 스스로 최
저 비용을 찾아가는 마술같은 경험을 하게 될 것이다.
5. Cost 함수
• Hypothesis 방정식을 포함하는 계산식으로, 현재의 기울기(W)와 절편(b)에 대해 비용을 계산해 주는 함수다. 매번 호
출할 때마다 반환값으로 표현되는 비용이 줄어들도록 코딩되어야 한다. 여기서는 Linear Regression에서 최소 비용을
검색하기 위한 역할을 담당한다.
• 출처 : http://pythonkim.tistory.com/7?category=573319 [파이쿵]
24© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression
ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg
Build graph
25© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression
ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg
Build graph
• W와 b는 shape 1인 tensor로 선언
• Cost는 예측된 hypothesis 와 실제 y_train의
차이의 제곱의 평균을 갖음
26© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression
ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg
Build graph
• GradientDescent (경사 하강법)
• Optimizer.minimize 옵션으로 cost가 최소인
hypothesis를 찾음 -> W 와 b를 수정하면서
찾아감
27© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression
ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg
Run/update graph
28© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression
ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg
Placeholders
29© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression
ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg
Placeholders
• Train에 나오는 value는 중요하지 않아 “ _ “로
선언
30© 2018 Bevis Lee / email : byzun0@gmail.com
ML Lab 02 – Linear Regression
ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg
Placeholders
• Placeholder에 shape = [None] 는 1차원에
아무값이나 들어 올 수 있다는 의미 (1개 ~ 10
개, 20개 … 가능)
© 2018 Bevis Lee / email : byzun0@gmail.com
실습
32© 2018 Bevis Lee / email : byzun0@gmail.com
실습
1. 환경 설정 : bigquery public data import
bigquery - https://bigquery.cloud.google.com
• bigquery public page - https://cloud.google.com/bigquery/public-data/chicago-taxi
• bigquery public data import 완료
33© 2018 Bevis Lee / email : byzun0@gmail.com
실습
1. 환경 설정 : bigquery Dataset 생성 및 Table 저장
bigquery - https://bigquery.cloud.google.com
34© 2018 Bevis Lee / email : byzun0@gmail.com
실습
1. 환경 설정 : bigquery Dataset 생성 및 Table 저장
bigquery - https://bigquery.cloud.google.com
• query 결과 Table 저장
35© 2018 Bevis Lee / email : byzun0@gmail.com
실습
1. 환경 설정 : datalab 생성
Datalab quickstart - https://cloud.google.com/datalab/docs/quickstart
• GCP Menu > Compute Engine > vm인스턴스 • datalab create usage - https://cloud.google.com/datalab/docs/reference/command-line/create
36© 2018 Bevis Lee / email : byzun0@gmail.com
실습
1. 환경 설정 : datalab 생성
Datalab quickstart - https://cloud.google.com/datalab/docs/quickstart
• GCP Menu > Compute Engine > vm인스턴스
37© 2018 Bevis Lee / email : byzun0@gmail.com
실습
2. 데이터셋 가져오기 또는 생성하기
tf_linear_regression.ipynb • 데이터 탐색
38© 2018 Bevis Lee / email : byzun0@gmail.com
실습
2. 데이터셋 가져오기 또는 생성하기
tf_linear_regression.ipynb
• 데이터 탐색
39© 2018 Bevis Lee / email : byzun0@gmail.com
실습
3. train, test data 분할
tf_linear_regression.ipynb
• 데이터 탐색
40© 2018 Bevis Lee / email : byzun0@gmail.com
실습
4. 기본 linear regression
tf_linear_regression.ipynb
• linear regression
41© 2018 Bevis Lee / email : byzun0@gmail.com
실습
5. 기본 linear regression + placeholder
tf_linear_regression.ipynb
• linear regression
42© 2018 Bevis Lee / email : byzun0@gmail.com
실습
기타) full size training VS batch size training
tf_linear_regression.ipynb
• linear regression
43© 2018 Bevis Lee / email : byzun0@gmail.com
실습
기타) full size training VS batch size training
tf_linear_regression.ipynb
• linear regression
44© 2018 Bevis Lee / email : byzun0@gmail.com
실습
기타) full size training VS batch size training
tf_linear_regression.ipynb
• linear regression
45© 2018 Bevis Lee / email : byzun0@gmail.com
실습
기타) full size training VS batch size training
tf_linear_regression.ipynb
• linear regression

More Related Content

PPTX
iT Cafe - Linear Algebra & Python Overview
PDF
[컨퍼런스] 모두콘 2018 리뷰
PDF
합리적 의사결정 방법 활용 방안
PDF
GCP CloudML Intro
PDF
실패한 오픈소스 공헌으로 배워가기
PDF
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
PPTX
Open jig-ware 6회-오로카세미나pptx
PPTX
KRX 금융 언어 모델 경진대회 후기 : 250226 W&B 서울 밋업 #4
iT Cafe - Linear Algebra & Python Overview
[컨퍼런스] 모두콘 2018 리뷰
합리적 의사결정 방법 활용 방안
GCP CloudML Intro
실패한 오픈소스 공헌으로 배워가기
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
Open jig-ware 6회-오로카세미나pptx
KRX 금융 언어 모델 경진대회 후기 : 250226 W&B 서울 밋업 #4

Similar to 1 linear regression (14)

PPTX
5조_최종발표.pptx
PDF
RLHF_Lessons_learned.pdf
PDF
제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크
PPTX
OpenJigWare(V02.00.04)
PPTX
Chapter 11 Practical Methodology
PDF
파이썬 라이브러리로 쉽게 시작하는 데이터 분석
PDF
모두를 위한 PG 여행 가이드
PPTX
기술적 변화를 이끌어가기
PDF
C++20 Key Features Summary
PDF
20210131deit-210204074124.pdf
PPTX
Training data-efficient image transformers & distillation through attention
PPTX
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
PDF
PR-383: Solving ImageNet: a Unified Scheme for Training any Backbone to Top R...
PPT
01 경영과학개요
5조_최종발표.pptx
RLHF_Lessons_learned.pdf
제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크
OpenJigWare(V02.00.04)
Chapter 11 Practical Methodology
파이썬 라이브러리로 쉽게 시작하는 데이터 분석
모두를 위한 PG 여행 가이드
기술적 변화를 이끌어가기
C++20 Key Features Summary
20210131deit-210204074124.pdf
Training data-efficient image transformers & distillation through attention
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
PR-383: Solving ImageNet: a Unified Scheme for Training any Backbone to Top R...
01 경영과학개요
Ad

1 linear regression

  • 1. © 2018 Bevis Lee / email : byzun0@gmail.com Lec 01 : 수업의 개요
  • 2. 2© 2018 Bevis Lee / email : byzun0@gmail.com Lec 01 : 수업의 개요 머신러닝을 잘 이해하고 활용해야만 “superpower”를 가질 수 있음 Lec 01 : 수업의 개요 - https://www.youtube.com/watch?v=BS6O0zOGX4E
  • 3. 3© 2018 Bevis Lee / email : byzun0@gmail.com Lec 01 : 수업의 개요 Audience (학습 대상) • 머신러닝에 대해 궁금증을 가진 사람 • 수학 / 컴퓨터 사이언스의 배경지식이 없는 사람 - y = W * x + b ( y = a * x + b) : 이 정도의 수학을 이해 할 수 있으면 따라 올 수 있음 • 머신 러닝 이란 블랙 박스로 이해하고, input(x) 와 output(y)만 이해해도 가능 • Tensorflow 와 Python을 사용하고 싶은 사람 Goals (학습 목표) • 머신러닝에 대한 기본적인 이해 - Macine Learning : Linear regression, Logistic regression (classification) - Deep Learning : Neural networks, Convolutional Neural Network, Recurrent Neural Network • 자신이 가지고 있는 어떤 문제를 해결 - Tensorflow 와 Python 사용 Lec 01 : 수업의 개요 - https://www.youtube.com/watch?v=BS6O0zOGX4E
  • 4. © 2018 Bevis Lee / email : byzun0@gmail.com ML Lec 01 – 기본적인 ML의 용어와 개념 설명
  • 5. 5© 2018 Bevis Lee / email : byzun0@gmail.com Machine Learrning • Supervised Learning (지도 학습) - 정해져 있는 데이터 (lable을 가지고 있음) -> 다른 말로는 training set - Image Labeling : 이미지의 태그를 통한 학습 - Email Spam Filter : Email Spam or Ham 레이블을 통한 학습 - Predicting Exam Score : 학습 시간을 통한 학습 - 예 • Unsupervised Learning (비지도 학습) - Google News : 자동적으로 grouping (lable을 가지고 있지 않으나, 자동적으로 처리) - Word : 자동적으로 Clustering ML Lec 01 – 기본적인 ML의 용어와 개념 설명 ML Lec 01 – 기본적인 ML의 용어와 개념 설명 - https://www.youtube.com/watch?v=qPMeuL2LIqY Machine Learrning • Explicit Programming (정확한 프로그래밍) - Spam Filter : 많은 경우(Rules)를 가지고 있어, 프로그래밍으로 처리가 어려움 - Automatic Driving : 많은 경우(Rules)를 가지고 있어, 프로그램으로 처리가 어려움 • Machine Learning (Arthur Samuel / 1959) : 개발자가 어떻게 해야할지를 정하지 않고, 어떤 현상에서 자동으로 학습 하는 능력을 가진 프로그래밍
  • 6. 6© 2018 Bevis Lee / email : byzun0@gmail.com ML Lec 01 – 기본적인 ML의 용어와 개념 설명 ML Lec 01 – 기본적인 ML의 용어와 개념 설명 - https://www.youtube.com/watch?v=qPMeuL2LIqY Training Data Set X Y (lable) 3,6,9 3 2,5,7 2 2,3,5 1 Machine Learning Training Data Test Data X 9,3,6 Y (lable) 3 Predict
  • 7. 7© 2018 Bevis Lee / email : byzun0@gmail.com ML Lec 01 – 기본적인 ML의 용어와 개념 설명 ML Lec 01 – 기본적인 ML의 용어와 개념 설명 - https://www.youtube.com/watch?v=qPMeuL2LIqY Supervised Learning 종류 • Predicting final exam score ( 0 ~ 100 ) : 학습 시간을 통한 학습 - regression • Pass / Non-Pass : 학습 시간을 통한 학습 - binary classification • Letter Grade ( A, B, C, D, E, F ) : 학습 시간을 통한 학습 - multi-label classification
  • 8. © 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 01 – TF의 설치 및 기본적인 OP
  • 9. 9© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 01 – TF의 설치 및 기본적인 OP ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s Tensorflow • Data Flow Graph를 사용해서 Numerical 한 계산을 함 • Python으로 Tensorflow 사용 Data flow Graph (데이터 플로우 그래프) • 데이터 플로우 그래프는 노드(Node) 와 엣지(Edge)를 사용 한 방향 그래프(Directed Graph)로 표현 • 노드(Node) : 수학적 계산, 데이터 입/출력, 그리고 데이터의 읽 기/저장 등의 작업을 수행 (하나의 OP [operations]) • 엣지(Edge) : 노드들 간 데이터의 입출력 관계를 나타냄 • 엣지(Edge) : 동적 사이즈의 텐서(다차원 데이터 배열)를 실어 나르기 때문에, 텐서플로우라는 이름으로 지어짐 (data array / tensor)
  • 10. 10© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 01 – TF의 설치 및 기본적인 OP ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s Tensorflow Hello World!
  • 11. 11© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 01 – TF의 설치 및 기본적인 OP ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s Computational Graph
  • 12. 12© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 01 – TF의 설치 및 기본적인 OP ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s Computational Graph
  • 13. 13© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 01 – TF의 설치 및 기본적인 OP ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s Computational Graph
  • 14. 14© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 01 – TF의 설치 및 기본적인 OP ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s Placeholder
  • 15. 15© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 01 – TF의 설치 및 기본적인 OP ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s Placeholder
  • 16. 16© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 01 – TF의 설치 및 기본적인 OP ML Lab 01 – TF의 설치 및 기본적인 OP - https://www.youtube.com/watch?v=-57Ne86Ia8w&t=467s Tensor 텐서(Tensor : 다차원 배열) • 텐서는 기본 자료구조이며, 그래프에서 Edge를 따라 흐르는 값을 의미 • 텐서는 다차원 배열과 리스트로 구성 • 텐서는 Rank, Shape, Type 세 가지의 매개변수를 가짐 • Tensor = Rank(차원) + Shape(행, 열) + Type(타입)
  • 17. © 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명
  • 18. 18© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 - https://www.youtube.com/watch?v=Hax03rCn3UI regression • Linear regression : 세상에 많은 데이터 / 현 상이 설명됨 • 예) 공부를 오래하면 시험 성적이 좋다 • 예) 아파트 크기가 크면 아파트 가격은 비싸다
  • 19. 19© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 - https://www.youtube.com/watch?v=Hax03rCn3UI regression
  • 20. 20© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 - https://www.youtube.com/watch?v=Hax03rCn3UI cost function • (H(x) – y) ^ 2 하면, 실제값과 예측값의 차이가 + / - 에 상관없이 차이를 계산하며, 더 차이가 클 경우에 패널티를 부여하여 많이 사용
  • 21. 21© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 ML Lab 02 – Linear Regression의 Hypothesis와 cost 설명 - https://www.youtube.com/watch?v=Hax03rCn3UI cost function • Linear regression 에서는 cost가 가장 작은 W 와 b를 구하는것이 목표
  • 22. © 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression
  • 23. 23© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg Hypothesis and cost function 1. 회귀 분석 • 점들이 퍼져있는 형태에서 패턴을 찾아내고, 이 패턴을 활용해서 무언가를 예측하는 분석. 새로운 표본을 뽑았을 때 평균으로 돌아가려는 특징이 있기 때문에 붙은 이름. 회귀(回歸 돌 회, 돌아갈 귀)라는 용어는 일반적으로 '돌아간다'는 정도로만 사용하기 때문에 회귀로부터 '예측'이라는 단어를 떠올리기는 쉽지 않다. 2. Linear Regression • 2차원 좌표에 분포된 데이터를 1차원 직선 방정식을 통해 표현되지 않은 데이터를 예측하기 위한 분석 모델. 머신러 닝 입문에서는 기본적으로 2차원이나 3차원까지만 정리하면 된다. 여기서는 편의상 1차원 직선으로 정리하고 있다. xy축 좌표계에서 직선을 그렸다고 생각하면 된다. 3. Hypothesis • Linear Regression에서 사용하는 1차원 방정식을 가리키는 용어로, 우리말로는 가설이라고 한다. 수식에서는 h(x) 또는 H(x)로 표현한다. • H(x) = Wx + b에서 Wx + b는 x에 대한 1차 방적식으로 직선을 표현한다는 것은 모두 알 것이고, 기울기에 해당하는 W(Weight)와 절편에 해당하는 b(bias)가 반복되는 과정에서 계속 바뀌고, 마지막 루프에서 바뀐 최종 값을 사용해서 데이터 예측(prediction)에 사용하게 된다. 최종 결과로 나온 가설을 모델(model)이라고 부르고, "학습되었다"라고 한 다. 학습된 모델은 배포되어서 새로운 학습을 통해 수정되기 전까지 지속적으로 활용된다. 4. Cost (비용) • 앞에서 설명한 Hypothesis 방정식에 대한 비용(cost)으로 방정식의 결과가 크게 나오면 좋지 않다고 얘기하고, 루프를 돌 때마다 W와 b를 비용이 적게 발생하는 방향으로 수정하게 된다. 놀랍게도 미분이라는 수학 공식을 통해 스스로 최 저 비용을 찾아가는 마술같은 경험을 하게 될 것이다. 5. Cost 함수 • Hypothesis 방정식을 포함하는 계산식으로, 현재의 기울기(W)와 절편(b)에 대해 비용을 계산해 주는 함수다. 매번 호 출할 때마다 반환값으로 표현되는 비용이 줄어들도록 코딩되어야 한다. 여기서는 Linear Regression에서 최소 비용을 검색하기 위한 역할을 담당한다. • 출처 : http://pythonkim.tistory.com/7?category=573319 [파이쿵]
  • 24. 24© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg Build graph
  • 25. 25© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg Build graph • W와 b는 shape 1인 tensor로 선언 • Cost는 예측된 hypothesis 와 실제 y_train의 차이의 제곱의 평균을 갖음
  • 26. 26© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg Build graph • GradientDescent (경사 하강법) • Optimizer.minimize 옵션으로 cost가 최소인 hypothesis를 찾음 -> W 와 b를 수정하면서 찾아감
  • 27. 27© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg Run/update graph
  • 28. 28© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg Placeholders
  • 29. 29© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg Placeholders • Train에 나오는 value는 중요하지 않아 “ _ “로 선언
  • 30. 30© 2018 Bevis Lee / email : byzun0@gmail.com ML Lab 02 – Linear Regression ML Lab 02 – Linear Regression - https://www.youtube.com/watch?v=mQGwjrStQgg Placeholders • Placeholder에 shape = [None] 는 1차원에 아무값이나 들어 올 수 있다는 의미 (1개 ~ 10 개, 20개 … 가능)
  • 31. © 2018 Bevis Lee / email : byzun0@gmail.com 실습
  • 32. 32© 2018 Bevis Lee / email : byzun0@gmail.com 실습 1. 환경 설정 : bigquery public data import bigquery - https://bigquery.cloud.google.com • bigquery public page - https://cloud.google.com/bigquery/public-data/chicago-taxi • bigquery public data import 완료
  • 33. 33© 2018 Bevis Lee / email : byzun0@gmail.com 실습 1. 환경 설정 : bigquery Dataset 생성 및 Table 저장 bigquery - https://bigquery.cloud.google.com
  • 34. 34© 2018 Bevis Lee / email : byzun0@gmail.com 실습 1. 환경 설정 : bigquery Dataset 생성 및 Table 저장 bigquery - https://bigquery.cloud.google.com • query 결과 Table 저장
  • 35. 35© 2018 Bevis Lee / email : byzun0@gmail.com 실습 1. 환경 설정 : datalab 생성 Datalab quickstart - https://cloud.google.com/datalab/docs/quickstart • GCP Menu > Compute Engine > vm인스턴스 • datalab create usage - https://cloud.google.com/datalab/docs/reference/command-line/create
  • 36. 36© 2018 Bevis Lee / email : byzun0@gmail.com 실습 1. 환경 설정 : datalab 생성 Datalab quickstart - https://cloud.google.com/datalab/docs/quickstart • GCP Menu > Compute Engine > vm인스턴스
  • 37. 37© 2018 Bevis Lee / email : byzun0@gmail.com 실습 2. 데이터셋 가져오기 또는 생성하기 tf_linear_regression.ipynb • 데이터 탐색
  • 38. 38© 2018 Bevis Lee / email : byzun0@gmail.com 실습 2. 데이터셋 가져오기 또는 생성하기 tf_linear_regression.ipynb • 데이터 탐색
  • 39. 39© 2018 Bevis Lee / email : byzun0@gmail.com 실습 3. train, test data 분할 tf_linear_regression.ipynb • 데이터 탐색
  • 40. 40© 2018 Bevis Lee / email : byzun0@gmail.com 실습 4. 기본 linear regression tf_linear_regression.ipynb • linear regression
  • 41. 41© 2018 Bevis Lee / email : byzun0@gmail.com 실습 5. 기본 linear regression + placeholder tf_linear_regression.ipynb • linear regression
  • 42. 42© 2018 Bevis Lee / email : byzun0@gmail.com 실습 기타) full size training VS batch size training tf_linear_regression.ipynb • linear regression
  • 43. 43© 2018 Bevis Lee / email : byzun0@gmail.com 실습 기타) full size training VS batch size training tf_linear_regression.ipynb • linear regression
  • 44. 44© 2018 Bevis Lee / email : byzun0@gmail.com 실습 기타) full size training VS batch size training tf_linear_regression.ipynb • linear regression
  • 45. 45© 2018 Bevis Lee / email : byzun0@gmail.com 실습 기타) full size training VS batch size training tf_linear_regression.ipynb • linear regression