SlideShare a Scribd company logo
1 of 45
Download to read offline
© 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

Similar to 01 linear regression

RLHF_Lessons_learned.pdf
RLHF_Lessons_learned.pdfRLHF_Lessons_learned.pdf
RLHF_Lessons_learned.pdfssuser1bc84b
 
제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크
제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크
제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크BOAZ Bigdata
 
OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)Jinwook On
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
파이썬 라이브러리로 쉽게 시작하는 데이터 분석
파이썬 라이브러리로 쉽게 시작하는 데이터 분석파이썬 라이브러리로 쉽게 시작하는 데이터 분석
파이썬 라이브러리로 쉽게 시작하는 데이터 분석Heekyung Yoon
 
모두를 위한 PG 여행 가이드
모두를 위한 PG 여행 가이드모두를 위한 PG 여행 가이드
모두를 위한 PG 여행 가이드RLKorea
 
기술적 변화를 이끌어가기
기술적 변화를 이끌어가기기술적 변화를 이끌어가기
기술적 변화를 이끌어가기Jaewoo Ahn
 
C++20 Key Features Summary
C++20 Key Features SummaryC++20 Key Features Summary
C++20 Key Features SummaryChris Ohk
 
20210131deit-210204074124.pdf
20210131deit-210204074124.pdf20210131deit-210204074124.pdf
20210131deit-210204074124.pdfssusera9c46c
 
Training data-efficient image transformers & distillation through attention
Training data-efficient image transformers & distillation through attentionTraining data-efficient image transformers & distillation through attention
Training data-efficient image transformers & distillation through attentiontaeseon ryu
 
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...gohyunwoong
 
PR-383: Solving ImageNet: a Unified Scheme for Training any Backbone to Top R...
PR-383: Solving ImageNet: a Unified Scheme for Training any Backbone to Top R...PR-383: Solving ImageNet: a Unified Scheme for Training any Backbone to Top R...
PR-383: Solving ImageNet: a Unified Scheme for Training any Backbone to Top R...Sunghoon Joo
 
01 경영과학개요
01 경영과학개요01 경영과학개요
01 경영과학개요SeonHwa Oh
 

Similar to 01 linear regression (13)

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

01 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