Machine Learning Foundations (a case study approach) 강의 정리

S
SANG WON PARKData Engineer um SK holdings C&C
Machine Learning Foundations:
A Case Study Approach
by University of Washington
1
2017.09
freepsw
사례 중심의 머신러닝 알고리즘 활용방안 강의정리
2
Week 1. Overview
다른 ML과정과의 차별점으로 실제 문제를 해결하는 방식으로 접근함
과정의 수준 과정의 대상자
• 데이터를 이해하고자 하는 개발자
• 데이터 사이언티스트가 되고 싶어하는 엔지니어
• 수학을 조금 알면서 데이터를 분석하고 싶어하는 사람들
• 이해를 위해 미리 알아야 할 정보는 최소화 하고,
• 문제를 해결하는 방법에 대한 내용을 최대화
• 데이터를 이해하고자 하는 개발자
• 데이터 사이언티스트가 되고 싶어하는 엔지니어
• 수학을 조금 알면서 데이터를 분석하고 싶어하는 사람들
3
Week 1. Development Environment
Python, IPython Notebook & GraphLab Create
설치 가이드 설치 절차
• 데이터를 이해하고자 하는 개발자
• 데이터 사이언티스트가 되고 싶어하는 엔지니어
• 수학을 조금 알면서 데이터를 분석하고 싶어하는 사람들
• Anaconda 4.0.0 설치 및 가상환경을 이용한 환경 구성
• Python
• Jupyter
• Sframe
• GraphLab Create
• GraphLab Create(상용제품, trial)을 사용하는 이유
• 문제해결에 좀 더 많은 시간을 할당하기 위함.
• SW에서 제공하는 기능을 가능한 활용
https://turi.com/download/install-graphlab-create.html?email=freepsw%40gmail.com&key=2F8A-2D9E-43DE-3AC0-3312-B6EA-79CE-1BF5
• 데이터를 이해하고자 하는 개발자
• 데이터 사이언티스트가 되고 싶어하는 엔지니어
• 수학을 조금 알면서 데이터를 분석하고 싶어하는 사람들
https://www.coursera.org/learn/ml-foundations/supplement/5HQGl/reading-getting-started-with-python-ipython-notebook-graphlab-create
# 1. 필요 라이브러리 설치
> sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite3 sqlite-devel openssl-devel –y
> sudo yum install freetype freetype-devel libpng-devel -y
# 2. Anaconda 설치
> wget https://repo.continuum.io/archive/Anaconda2-4.0.0-Linux-x86_64.sh
> bash Anaconda2-4.0.0-Linux-x86_64.sh
à $PATH에 anaconda에서 제공하는 python 경로가 포함되도록 설정
à ~/.bash_profile에 ” export PATH=$HOME/anaconda2/bin:$PATH ”
# 3. Anaconda 가상환경 구성
> conda create -n gl-env python=2.7 anaconda=4.0.0
# 4. Activate the conda environment
> source activate gl-env
# 5. Install your licensed copy of GraphLab Create
> pip install --upgrade --no-cache-dir https://get.graphlab.com/GraphLab-
Create/2.1/freepsw@gmail.com/2F8A-2D9E-43DE-3AC0-3312-B6EA-79CE-1BF5/GraphLab-Create-License.tar.gz
à 코세라 강의를 위한 라이센스를 발급받고 이를 이용하여 설치 (https://turi.com/learn/coursera/)
# 6. Jupyter Notebook 실행 (.ipynb 파일이 있는 폴더에서 실행)
> conda install ipython-notebook
> Jupyter notebook
# 7. Browser로 접속 (http://서버IP:8888)
• 본인 Notebook/PC로 실행하면 문제없음.
• UI가 없는 Server를 활용할 경우, Juypter를 외부에서 접속할 수 있는 서버로 실행해야함.
• http://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security
4
Week1. Canvas for data visualization
GraphLab Create를 이용하여 시각화한 웹서버 접근방법 (sf.show() 실행시)
로컬 환경인 경우 원격서버 환경
• 원격서버(AWS, GCE, 개발서버 등)에 실습환경 구축한 경우
• [문제] Link 클릭시 접속 오류 발생
• [해결] SSH Port Forwarding을 통하여 접속
• 실습환경을 local PC에 설치한 경우 매뉴얼 대로 동작
# local PC에서 실행 (port forwarding 연결)
> ssh -L 37025:localhost:37025 rts@192.168.X.X (원격서버 ip)
• 출력된 link를 통해 graphlab creat 화면 접속
참고 : http://blog.naver.com/freepsw/220892098919
# local PC Browser
http://localhost:37025/index.html 접속
Week 2
Regression: Predicting House Prices
5
6
Week 2-1. Linear regression modeling
주변 주택시세(크기 기준)를 이용하여 선형모델을 생성해 보자
• 가상의 선(W0, W1)을 그리고 예측값과 실제값의 차이(Residual
sum of square)를 계산.
• 이 값이 최소가 되는 선형을 선택하여 가격을 예측
• 집의 크기와 가격을 기준으로 그래프를 그리고,
• 집의 평수에 해당하는 가격을 대략 산정 가능
직관적인 분석을 통한 시세 예측 모델 Linear regression을 활용한 예측 모델
7
Week 2-2. Evaluating regression model
Feature를 추가하여 모델의 예측 정확도를 높인다
• 수강생의 역량
• Capstone 프로젝트 결과물 등
• 2차원에서는 단순한 선형을 가지지만,
• Feature가 추가되면서 고차원의 선형으로 데이터를 분류함.
Feature 추가에 따른 선형의 변화 (고차원) 수강생들이 회사에 취직할 확률
8
Week 2. Assignment
Graphlab을 이용하여 탐색적 분석 및 regression model 평가
• Graphlaba에서 제공하는 api를 이용한 모델생성• Feature와 price간의 관계를 다양한 chart를 이용하여 시각화
Graphlab create를 이용한 시각화 Regression model 생성
• 생성된 모델에 대한 평가
Week 3
Classification: Analyzing Sentiment
9
10
Week 3-1. Classification modeling
음식(메뉴)에 대한 평가(긍정,부정)를 분류하는 서비스
• 1) 모든 평가 댓글을 취합
• 2) 특정 메뉴가 포함된 문장만 추출
• 3) 감성분석을 위한 분류기 적용
• 4) 메뉴별 평가정보 추출
• 고갱의 댓글 또는 평가에 대한 문장을 분석하여,
• 특정 메뉴에 대한 긍정/부정의 감성분석을 하고,
• 어떤 메뉴가 가장 큰 긍정적인 평가를 받는지 확인
개념적인 모델 상세 모델
Classifier의 성능(예측정확도) 중요
11
Week 3-1. Simple Threshold Classifier
긍정/부정의 단어에 일정한 점수를 부여하여 분류하는 모델
• 긍정/부정의 단어를 직접 구성해야 함. (모두 파악할 수 있나?)
• 단어별로 긍정/부정의 강도가 다름 (Greate > good)
• 단어별로 가중치가 필요하지 않을까?
• 긍정/부정의 단어를 사전에 정의함.
• 입력된 문장에 포함된 단어를 집계하여 score의 합을 계산
모델의 구성 Threshold classifier의 문제점
• 하나의 단어로 긍정/부정을 평가하기 어려움
• Good à 긍정
• Not Good à 부정
Classifier를 학습
(후반부에 자세히 설명)
좀 더 복잡한 feature를 이용
12
Week 3-1. Linear Classifier
단어별로 가중치를 부여하여, 긍정/부정의 score로 분류
• 아래 문장에서 긍정을 표현하는 단어의 가중치가 높아서
• 긍정으로 분류함
• 가중치가 부여된 단어의 score 합계를 이용하여
• 긍정/부정을 분류함
모델의 구성 문장의 Scoring
Week 3-2
Evaluating classification models
13
14
Week 3-2. Training and evaluating a classifier
Classifier를 학습한다는 것은, Error를 최소화 하는 최적의 weight를 찾는것이다
• Training set를 이용하여 최적의 weight를 학습하고,
• Test set를 이용하여 정확도를 검증한다.
• 아래와 같이 가중치가 부여된 경우
• linear regression의 함수를 생성할 수 있다.
Decision boundary 결정 최적의 weight 탐색 과정
• 위 함수를 이용하여 긍정/부정을 분류 가능
awesome 2회
awful 1회
15
Week 3-2. False positives, false negatives
학습된 모델이 예측을 실패하는 유형 이해
• [Spam Filtering]
• FP : 정상 메일을 spam으로 판단하면, 중요한 메일을 읽지
못함.
• [병/질환 진단]
• FN : 실제 병이 있는데, 없는 것으로 판단 à 치료시기 놓침
• FP : 병이 없는데 있다고 판단 à 불필요한 치료비용/독한 약
• False Negative : 부정(Negative)으로 예측한 것이 틀렸다(False)
• False Positive : 긍정(Positive)으로 예측한 것이 틀렸다(False)
모델의 예측 실패 유형 예측 실패의 영향
16
Week 3-2. Learning curves
데이터가 많을 수록 예측 오류는 줄어들지만, 특정 bias(편향) 이하로는 줄지 않음
• 단순한 단어가 아닌 복합 단어를 포함한 파라미터를 추가• 데이터가 많을 수록, 모델의 정확도가 높아짐 (오류가 감소)
데이터와 예측오류의 관계 복잡한 모델은 bias 감소
데이터가 무한대로 증가해도, 오류가 감소하지 않음
• 기존 모델과 비교하여 오류가 현저하게 감소함
17
Week 3-2. Class probabilities
모델의 예측 정확도를 신뢰할 수 있도록 확률로 표현한다
• 입련 문장에서 긍정/부정이 나타날 확률로 계산• 단어를 보고 긍정 or 부정 판단
• 하지만, 실제 문장에는 긍정과 부정이 함께 표현되는 경우가 많음
• Sushi는 맛있지만, 서비스는 별로?
기존 모델의 예측 방식 확률을 통한 예측
• 따라서,
• 이를 특정 문장이 주어졌을때,
• 긍정이 나타날 확률과
• 부정이 나타날 확률로 구분해야 한다
Week 4
Clustering and Similarity :
Retrieving Documents
18
19
Week 4-1. Algorithms for retrieval and measuring similarity of documents
수많은 문서들간의 유사도를 비교하는 방법
• 입련 문장에서 긍정/부정이 나타날 확률로 계산• 단어의 순서는 무시하고,
• 단어가 얼마만큼 나타났는지의 빈도로 유사도를 계산
Bag of Words model (단어 주머니) Word Count 유사도 계산 방식
20
Week 4-1. Prioritizing important words with tf-idf
희소단어들은 기사의 주제를 잘 표현하므로, 가중치를 높여야 한다
• 상용어인 “The”의 비중을 줄이고,
• “Messi”와 같은 의미있는 단어의 가중치를 높임.
• 일부 문서에서만 나타나는 희소단어의 가중치를 높이기 위해서,
• 많이 발생하는 단어의 가중치를 감소시킨다.
• IDF
• Log(전체 문서 수 / 단어가 포함된 문서)
• Log 함수로 아주 큰 수가 나오지 않도록 조정
• 발생빈도 높은 단어 à 0에 가까움.
• 발생빈도 낮은 단어 à 0보다 크지만, 아주 크지는 않음
TF-IDF (Term Frequency – Inverse Document Frequency) TF-IDF 예시
+1을 하는 이유?
문서의 단어 중 말뭉치에 없는 단어가 있을 수 있으므로,
0이 되지 않도록 1을 추가
log0 16 = 4
(여기서는 log0로	가정)
• 최종적으로, Messi라는 단어의 가중치가 20으로 증가되고
• The라는 단어는 0으로 감소
21
Week 4-1. Retrieving similar documents using nearest neighbor 검색
문서간의 유사도를 비교하는 가장 보편적인 기법
• Input : Query article
• Output : 가장 유사한 기사 (1개만 출력)
• Algorithm :
1. Corpus의 모든 article을 검색하면서
2. 유사도(Query article vs article) 비교
3. 전체 중에 가장 유사도가 높은 것만 출력
• 일부 문서에서만 나타나는 희소단어의 가중치를 높이기 위해서,
• Query article : 검색기사 (현재 보고 있는 기사)
• Corpus(말뭉치) : 모든 문서의 총합, 여기서 추천할 기사를 선택
nearest neighbor search 개념 1 - Nearest neighbor
• 거리 기준 : 유사도를 측정할 기준 (distance metric)
• Input : Query article
• Output : 유사한 기사의 목록 (List of K)
K – Nearest neighbor
Week 4-2
Clustering models and algorithms
22
23
Week 4-2. Clustering documents task overview
라벨이 없는 article들에서 관련된 기사 및 그룹을 발견하는 방식
• 3개의 클러스터로 지정 후
• 랜덤 중심점 3개로 시작하여, 반복하여 중심점을 조정하면서
• 클러스터를 최적화 하는 기법
• 단어의 빈도를 이용하여 기사(문서)를 자동으로 분류하는 방식
• Input : 문서 (vector형식)
• Output : Cluster Label (문서별로 label을 부여, 스포츠/정치 등)
Clustering 개념 거리 중심의 클러스터링 (K-Means)
• 문서에 포함된 단어가 2개(word1, word2)만 존재하는 경우,
• 위와 같이 2차원 평면으로 표현가능 (실제는 더 많은 고차원)
• 가장 가까운 거리의 문서 집합을 클러스터로 분류하여 라벨링
24
Week 4. Assignment
Wiki의 인물사전의 설명을 기준으로 각 인물간의 유사도를 분류
• TF-IDF 필드를 이용한 유사도 모델 생성 및 평가• Word_Count : ”Text” 필드의 단어 발생 빈도
• TF-IDF : 각 단어가 문서들(Corpus)에 발생한 빈도
Word를 이용한 단어 빈도 계산 거리기반 유사도 모델
• Elton John과 가장 유사
한 사람은 “Phill Collins”
Week 5
Recommending Products
25
26
Week 5-1. Recommender systems
라벨이 없는 article들에서 관련된 기사 및 그룹을 발견하는 방식
1. 인기도 기반 (Popularity)
• 가장 단순 (뉴스에서 활용, 가장 인기 있는 기사 추천)
• 독자에게 공유된 횟수
• 문제
• 개인화(개인별 선호도)에 대한 고려 없음
2. Classification Model
• 개인별 feature로 모델 학습
• 장점
• 개인의 선호도 반영
• 문맥(시간, 활동내용 등)을 반영한 추천
• 개인의 이력을 반영한 추천
• 단점
• Feature가 부족할 수 있음 (나이, 성별 등..)
• à collaborative filtering으로 한계 극복
• 개인화 (Personalization)
• 사용자와 Item을 연결 (User vs Product/Movie …)
• 추천 시스템의 핵심 개념
• 시간에 따른 변화
• 작년에 구매한 유아 운동화를 몇년 후에는 구매하지 않음
• 시간에 따라 다른 추천
• Item의 유사성
• 음악 청취시 비슷한 음악을 연속적으로 듣는 경향
Recommender system의 특징 추천 모델의 유형
Week 5-2
Co-occurrence matrices
for
collaborative filtering
27
28
Week 5-2. Collaborative Filtering
구매이력을 기반으로 특정 상품을 산 사람들은 다른 특정 상품을 살거라는 가정
• 특정 상품이 압도적으로 많이 구매되는 경우, (예를 들어 기저귀)
• 어떤 상품을 구매하더라도, 무조건 그 상품(기저귀)를 추천함
• Matrix C
• 사용자가 구매한 상품간의 대칭 Matrix
• 특정 상품을 구매한 사람이 어떤 상품을 동시에 구매했는지
쉽게 확인 가능
Co-Occurrence Matrix (상품 구매 매트릭스) Co-occurrence matrix의 문제점 (populiarity)
• 기저귀와 아기 물티슈를
동시에 구매한 사람 수
• 이 Matrix를 이용하면,
• 특정 상품을 구매한 사람이 구매한 다른 상품의 갯수(많이 구매)
순서로 추천할 수 있다.
• 기저귀를 먼저 추천 à
29
Week 5-2. Normalizing co-occurrence matrix
Popularity를 기준으로 유사도를 가지도록 데이터를 정규화
• 구매 이력에 있는 각 상품에 대하여,
• 추천할 상품과의 점수를 구하고, (Co-occurrecne matrix 사용)
• 이를 평균으로 나누어서 가중 점수를 계산
• 내가 구매한 이력이 (diaper, milk)만 있고,
• 나머지 상품에 대한 추천점수를 계산해야 한다면,
• Diaper와 milk와 다른 상품간의 점수를 각각 계산하고,
• 이를 평균으로 계산
• 상품 i와 j를 동시에 구매한 사람의 수를
• 상품 I 또는 j를 구매한 전체 사용자 수로 나누어 유사도를 구한다.
• 이 공식을 이용해 전체 Matrix를 정규화
Jaccard similarity Weighted Average of purchased items
[ Co-occurrence Matrix의 문제점]
• 현재 상태(특정 상품]만 추천이 가능
• 즉, 과거의 구매이력을 이용하여 추천하지 못함.
• 왜냐하면, matrix에서 전체 이력을 계산한 값이 없기 때문…
• 이 점수가 가장 높은 순으로 추천한다
• Baby wipes 추천 점수
• (가중 평균점수)
[ 한계점]
• 문맥(시간 등), 사용자 개인정보, 제품정보를 반영하지 못함.
• Cold Start Problem (신규 사용자 또는 신규제품은?)
30
Week 5-3. Matrix Factorization
데이터를 통하여 사용자 또는 상품의 특징을 학습하는 방법 (행렬 분해)
(예를 들어, 영화 평점데이터를 통해 사용자 및 영화의 특징 추출)
• Feature : X1, X2 (영화의 특징)
• 가중치 : 𝜽(𝒖𝒔𝒆𝒓)
• 예측평점 : 𝒚 =	 𝜽 𝒋 𝑻
(𝒙 𝒊
)
• 즉, 사용자가 영화를 평가했던 이력이 있고,
• 사용자 및 영화의 feature을 가지고 있다면,
• 여기서는 romance, action 등의 선호도
• 실제는 사용자(나이, 성별, 거주지역 등), 영화(감독, 배우, 장르 등)
• 이를 통해서 가중치를 학습하여 최적의 값을 찾는다. (cost 최적화)
• Feature(특징)이 정의되지 않은 경우, 이를 데이터를 통해 학습
• 먼저, 사용자(U)와 영화(V)의 feature matrix를 이용하여 점수
(rating)을 예측해 보자.
데이터를 통해 특징을 찾아서 분해(Matrix Factorization) Feature를 통해 학습하여 가중치 추출
• Andrew NG 강의
• Week 9 참고 (더 자세함)
• 학습을 통해 𝜽를 최소화
가중치를 통해서 Feature(유형)를 추출
• 가중치를 알면, 평가점수를 기반으로 feature를 추출 가능
• 즉, 사용자 및 영화의 feature를 추출
• 이를 통해 사용자의 유형을 분류할 수 있음
• 사용자 1(Allice)의 3번째 영화(Cute pupple of love)의 평점을 예측해 보자
• 이때 𝜽(𝟏)
은 사전에 학습되었다고 가정한다. [0, 5, 0]
Week 5-4
Performance metrics for recommender systems
31
32
Week 5-4. performance metric for recommender systems
사용자가 관심있는 상품만 추천할 수 있도록 recall-precision curve 활용
• Precision-recall curve
• Recall을 최대치(1)로 높여가는 과정에서의 관계 그래프
• Recall (재현율)
• 사용자가 관심있는 상품을 몇개나 추천했는지?
• 전체 100개 중, 관심있는 상품은 10개 (1~10)
• 추천을 5개 했다면 (7 ~ 11)
• 4/10 = (7, 8, 9, 10) / (1 ~ 10) = 40%
• Precision (정확도)
• 추천한 상품에 사용자가 관심있는 상품이 얼마나 있는가?
• 4/5 = (7, 8, 9, 10) / (7 ~ 11) = 80%
• 추천모델에서 관심있는 상품을 추천하는 것이 중요!!
• 따라서 recall을 향상하도록 추천 알고리즘을 평가해야 함.
Recall vs Precision 추천 알고리즘 평가 방법
• 1/1 = 100%
• 1개 추천했는데,
• 1개가 관심상품
• 10/10 = 100%
• 10개 추천했는데,
• 10개가 관심상품
• (전체 관심상품 10개)
• 2/5 = 100%
• 5개 추천했는데,
• 2개가 관심상품
• Precision : 2/5 : 0.4
• Recall : 2/10 : 0.2
• 2/10 = 100%
• 10개 추천했는데,
• 2개가 관심상품
• Precision : 2/0 : 0.2
• Recall : 2/10 : 0.2
• 정확도는 떨어져도, 재현율
은 변화 없음
• AUC(Area under the curve) 평가
• 커브 아래의 면적이 큰 알고리즘
을 우선 선택
Week 6
Deep Learning : Searching for images
(Andrew NG 강의 및 모두를 위한 딥러닝 참고)
33
34
Week 6. Quiz
(x1 AND x2) OR (NOT x1 AND NOT x2) 문제를 NN으로 표현하는 방법
• 수식을 2개로 분리하고, 각 결과를 다시 계산
• 총 3단계의 가중치가 필요함
• Z1(w0, w1, w2), Z2(w0, w1, w2), Z3(w0, w1, w2)
• Z1 à -1.5, 1, 1
• Z2 à 0.5, -1, -1
• Z3 à -0.5, 1, 1
• (x1 AND x2) OR (NOT x1 AND NOT x2) 정의
• X1과 X2의 논리 연산 결과 확인
• 아래와 같이 (1 0 0 1)이 도출되어야 정답
문제 문제 풀이 방법
https://www.coursera.org/learn/ml-foundations/discussions/weeks/6/threads/AAIUurrtEeWGphLhfbPAyQ
• 정답을 찾기 위해서는 어떤 가중치(weight)가 주어져야 할까?
• Deep Learning에서는 Cost 최적화를 통하여
• 위의 가중치(w0, w1, w2)를 자동으로 찾아 줌
END
1 von 35

Recomendados

boosting 기법 이해 (bagging vs boosting) von
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)SANG WON PARK
56.1K views48 Folien
13.앙상블학습 von
13.앙상블학습13.앙상블학습
13.앙상블학습Minchul Jung
1.1K views11 Folien
Random Forest Intro [랜덤포레스트 설명] von
Random Forest Intro [랜덤포레스트 설명]Random Forest Intro [랜덤포레스트 설명]
Random Forest Intro [랜덤포레스트 설명]Hyunwoo Kim
2K views80 Folien
Machine learning boosting 20180424 von
Machine learning boosting 20180424Machine learning boosting 20180424
Machine learning boosting 20180424Changwook Jun
474 views30 Folien
Coursera Machine Learning (by Andrew Ng)_강의정리 von
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
7.4K views139 Folien
Siamese neural networks for one shot image recognition paper explained von
Siamese neural networks for one shot image recognition paper explainedSiamese neural networks for one shot image recognition paper explained
Siamese neural networks for one shot image recognition paper explainedtaeseon ryu
175 views44 Folien

Más contenido relacionado

Was ist angesagt?

2.supervised learning(epoch#2)-2 von
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2Haesun Park
1.5K views48 Folien
Reinforcement learning von
Reinforcement learningReinforcement learning
Reinforcement learningTae Young Lee
1.1K views80 Folien
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련 von
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련Haesun Park
2.3K views53 Folien
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01 von
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01Kwang Woo NAM
11K views25 Folien
4.representing data and engineering features(epoch#2) von
4.representing data and engineering features(epoch#2)4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)Haesun Park
781 views52 Folien
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝 von
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝Haesun Park
2.4K views47 Folien

Was ist angesagt?(20)

2.supervised learning(epoch#2)-2 von Haesun Park
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2
Haesun Park1.5K views
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련 von Haesun Park
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
Haesun Park2.3K views
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01 von Kwang Woo NAM
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
Kwang Woo NAM11K views
4.representing data and engineering features(epoch#2) von Haesun Park
4.representing data and engineering features(epoch#2)4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)
Haesun Park781 views
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝 von Haesun Park
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
Haesun Park2.4K views
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개 von Terry Cho
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
Terry Cho69.2K views
5.model evaluation and improvement von Haesun Park
5.model evaluation and improvement5.model evaluation and improvement
5.model evaluation and improvement
Haesun Park3.6K views
Supervised Constrastive Learning von Sungchul Kim
Supervised Constrastive LearningSupervised Constrastive Learning
Supervised Constrastive Learning
Sungchul Kim34 views
2.supervised learning von Haesun Park
2.supervised learning2.supervised learning
2.supervised learning
Haesun Park2.9K views
Ch.5 machine learning basics von Jinho Lee
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basics
Jinho Lee447 views
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류 von Haesun Park
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
Haesun Park1.7K views
Deep neural networks for You-Tube recommendations von seungwoo kim
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
seungwoo kim121 views
2.supervised learning(epoch#2)-1 von Haesun Park
2.supervised learning(epoch#2)-12.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-1
Haesun Park1.5K views
집단지성 프로그래밍 06-의사결정트리-01 von Kwang Woo NAM
집단지성 프로그래밍 06-의사결정트리-01집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01
Kwang Woo NAM17.3K views
3.unsupervised learing(epoch#2) von Haesun Park
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)
Haesun Park780 views
Enliple korquad challenge von Sanghyun Cho
Enliple korquad challengeEnliple korquad challenge
Enliple korquad challenge
Sanghyun Cho396 views
Ml for 정형데이터 von JEEHYUN PAIK
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터
JEEHYUN PAIK476 views
2.supervised learning(epoch#2)-3 von Haesun Park
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
Haesun Park629 views
4.representing data and engineering features von Haesun Park
4.representing data and engineering features4.representing data and engineering features
4.representing data and engineering features
Haesun Park1.8K views

Destacado

[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra... von
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...Kiho Suh
2.4K views49 Folien
STRONG KOREA 20130609 von
STRONG KOREA 20130609STRONG KOREA 20130609
STRONG KOREA 20130609Leo Kim
903 views28 Folien
기계 학습의 현재와 미래 von
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래Joon Kim
5.1K views52 Folien
20160409 microsoft 세미나 머신러닝관련 발표자료 von
20160409 microsoft 세미나 머신러닝관련 발표자료20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료JungGeun Lee
3.6K views93 Folien
기술적분석 16 trix von
기술적분석 16 trix기술적분석 16 trix
기술적분석 16 trixAnt House
516 views10 Folien
Concurrent Programming (Java thread 다루기) von
Concurrent Programming (Java thread 다루기)Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)JungGeun Lee
1K views23 Folien

Destacado(20)

[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra... von Kiho Suh
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...
Kiho Suh2.4K views
STRONG KOREA 20130609 von Leo Kim
STRONG KOREA 20130609STRONG KOREA 20130609
STRONG KOREA 20130609
Leo Kim903 views
기계 학습의 현재와 미래 von Joon Kim
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래
Joon Kim5.1K views
20160409 microsoft 세미나 머신러닝관련 발표자료 von JungGeun Lee
20160409 microsoft 세미나 머신러닝관련 발표자료20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료
JungGeun Lee3.6K views
기술적분석 16 trix von Ant House
기술적분석 16 trix기술적분석 16 trix
기술적분석 16 trix
Ant House516 views
Concurrent Programming (Java thread 다루기) von JungGeun Lee
Concurrent Programming (Java thread 다루기)Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)
JungGeun Lee1K views
Reinforcement learning v0.5 von SANG WON PARK
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5
SANG WON PARK2.6K views
알파고 해부하기 3부 von Donghun Lee
알파고 해부하기 3부알파고 해부하기 3부
알파고 해부하기 3부
Donghun Lee5.4K views
[한국어] Neural Architecture Search with Reinforcement Learning von Kiho Suh
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
Kiho Suh6.8K views
머피의 머신러닝: Undirencted Graphical Model von Jungkyu Lee
머피의 머신러닝: Undirencted Graphical Model머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model
Jungkyu Lee3.6K views
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님 von BIZ+
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님 [BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
BIZ+1.9K views
1차시 smart education von Jaechoon Jo
1차시 smart education1차시 smart education
1차시 smart education
Jaechoon Jo2.8K views
주식 기술적 분석#3 (추세선) von Ant House
주식 기술적 분석#3 (추세선)주식 기술적 분석#3 (추세선)
주식 기술적 분석#3 (추세선)
Ant House2.2K views
파이썬으로 나만의 강화학습 환경 만들기 von 정주 김
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
정주 김17.5K views
알파고 학습 이해하기 von 도형 임
알파고 학습 이해하기알파고 학습 이해하기
알파고 학습 이해하기
도형 임710 views
기술적분석16 sonar von Ant House
기술적분석16 sonar기술적분석16 sonar
기술적분석16 sonar
Ant House723 views
강화 학습 기초 Reinforcement Learning an introduction von Taehoon Kim
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
Taehoon Kim27.4K views

Similar a Machine Learning Foundations (a case study approach) 강의 정리

알고리즘 마케팅 CH5 von
알고리즘 마케팅 CH5알고리즘 마케팅 CH5
알고리즘 마케팅 CH5kyuchul kim
23 views28 Folien
스타트업처럼 토이프로젝트하기 von
스타트업처럼 토이프로젝트하기스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기Sunyoung Shin
790 views39 Folien
애자일 프랙티스 von
애자일 프랙티스애자일 프랙티스
애자일 프랙티스한 경만
71 views39 Folien
Recommendatioin system basic von
Recommendatioin system basicRecommendatioin system basic
Recommendatioin system basicSoo-Kyung Choi
1.8K views33 Folien
추천 시스템 개요 (1)-draft von
추천 시스템 개요 (1)-draft추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-drafthyunsung lee
696 views36 Folien
[PAP] 실무자를 위한 인과추론 활용 : Best Practices von
[PAP] 실무자를 위한 인과추론 활용 : Best Practices[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best PracticesBokyung Choi
895 views47 Folien

Similar a Machine Learning Foundations (a case study approach) 강의 정리(20)

알고리즘 마케팅 CH5 von kyuchul kim
알고리즘 마케팅 CH5알고리즘 마케팅 CH5
알고리즘 마케팅 CH5
kyuchul kim23 views
스타트업처럼 토이프로젝트하기 von Sunyoung Shin
스타트업처럼 토이프로젝트하기스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기
Sunyoung Shin790 views
애자일 프랙티스 von 한 경만
애자일 프랙티스애자일 프랙티스
애자일 프랙티스
한 경만71 views
Recommendatioin system basic von Soo-Kyung Choi
Recommendatioin system basicRecommendatioin system basic
Recommendatioin system basic
Soo-Kyung Choi1.8K views
추천 시스템 개요 (1)-draft von hyunsung lee
추천 시스템 개요 (1)-draft추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft
hyunsung lee696 views
[PAP] 실무자를 위한 인과추론 활용 : Best Practices von Bokyung Choi
[PAP] 실무자를 위한 인과추론 활용 : Best Practices[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
Bokyung Choi895 views
2018 06-11-active-question-answering von Woong won Lee
2018 06-11-active-question-answering2018 06-11-active-question-answering
2018 06-11-active-question-answering
Woong won Lee925 views
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스 von Hee Jae Lee
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
Hee Jae Lee238 views
데이터를 얻으려는 노오오력 von Youngjae Kim
데이터를 얻으려는 노오오력데이터를 얻으려는 노오오력
데이터를 얻으려는 노오오력
Youngjae Kim20.1K views
프로젝트 관리 및 지켜야 할 사항들 von Lee Geonhee
프로젝트 관리 및 지켜야 할 사항들프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들
Lee Geonhee112 views
RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포 von r-kor
RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포
RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포
r-kor548 views
Automated program corrector for programming assignments using Deep Learning von Soo Kim
Automated program corrector for programming assignments using Deep LearningAutomated program corrector for programming assignments using Deep Learning
Automated program corrector for programming assignments using Deep Learning
Soo Kim34 views
애자일 스크럼과 JIRA von Terry Cho
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA
Terry Cho45.7K views
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스 von Minkyu Cho
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Minkyu Cho24.2K views
Chapter 11 Practical Methodology von KyeongUkJang
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
KyeongUkJang61 views
Intro to JavaScript - Week 1: Value, Type, Operator von Jeongbae Oh
Intro to JavaScript - Week 1: Value, Type, OperatorIntro to JavaScript - Week 1: Value, Type, Operator
Intro to JavaScript - Week 1: Value, Type, Operator
Jeongbae Oh175 views
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초 von Jay Park
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
Jay Park2.2K views
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018 von devCAT Studio, NEXON
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
유사 이미지 검색 기술 동향 - Pinterest 사례 von Geunhee Cho
유사 이미지 검색 기술 동향 - Pinterest 사례유사 이미지 검색 기술 동향 - Pinterest 사례
유사 이미지 검색 기술 동향 - Pinterest 사례
Geunhee Cho2.4K views

Más de SANG WON PARK

Trends_of_MLOps_tech_in_business von
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessSANG WON PARK
156 views14 Folien
Cloud DW technology trends and considerations for enterprises to apply snowflake von
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeSANG WON PARK
1.4K views36 Folien
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive ) von
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
1.8K views46 Folien
AWS EMR Cost optimization von
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimizationSANG WON PARK
1.3K views30 Folien
Understanding of Apache kafka metrics for monitoring von
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring SANG WON PARK
1.1K views31 Folien
Apache kafka performance(latency)_benchmark_v0.3 von
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3SANG WON PARK
1.8K views13 Folien

Más de SANG WON PARK(15)

Trends_of_MLOps_tech_in_business von SANG WON PARK
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_business
SANG WON PARK156 views
Cloud DW technology trends and considerations for enterprises to apply snowflake von SANG WON PARK
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflake
SANG WON PARK1.4K views
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive ) von SANG WON PARK
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
SANG WON PARK1.8K views
AWS EMR Cost optimization von SANG WON PARK
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimization
SANG WON PARK1.3K views
Understanding of Apache kafka metrics for monitoring von SANG WON PARK
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring
SANG WON PARK1.1K views
Apache kafka performance(latency)_benchmark_v0.3 von SANG WON PARK
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
SANG WON PARK1.8K views
Optane DC Persistent Memory(DCPMM) 성능 테스트 von SANG WON PARK
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트
SANG WON PARK2.2K views
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안 von SANG WON PARK
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
SANG WON PARK15.2K views
Apache kafka performance(throughput) - without data loss and guaranteeing dat... von SANG WON PARK
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
SANG WON PARK3.8K views
내가 이해하는 SVM(왜, 어떻게를 중심으로) von SANG WON PARK
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
SANG WON PARK30.2K views
코드로 이해하는 Back_propagation(cs231n) von SANG WON PARK
코드로 이해하는 Back_propagation(cs231n)코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)
SANG WON PARK3.8K views
Rancher Simple User Guide von SANG WON PARK
Rancher Simple User GuideRancher Simple User Guide
Rancher Simple User Guide
SANG WON PARK1.9K views
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens) von SANG WON PARK
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
SANG WON PARK8.5K views
Code로 이해하는 RNN von SANG WON PARK
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
SANG WON PARK3.5K views
Hadoop eco story 이해 von SANG WON PARK
Hadoop eco story 이해Hadoop eco story 이해
Hadoop eco story 이해
SANG WON PARK959 views

Machine Learning Foundations (a case study approach) 강의 정리

  • 1. Machine Learning Foundations: A Case Study Approach by University of Washington 1 2017.09 freepsw 사례 중심의 머신러닝 알고리즘 활용방안 강의정리
  • 2. 2 Week 1. Overview 다른 ML과정과의 차별점으로 실제 문제를 해결하는 방식으로 접근함 과정의 수준 과정의 대상자 • 데이터를 이해하고자 하는 개발자 • 데이터 사이언티스트가 되고 싶어하는 엔지니어 • 수학을 조금 알면서 데이터를 분석하고 싶어하는 사람들 • 이해를 위해 미리 알아야 할 정보는 최소화 하고, • 문제를 해결하는 방법에 대한 내용을 최대화 • 데이터를 이해하고자 하는 개발자 • 데이터 사이언티스트가 되고 싶어하는 엔지니어 • 수학을 조금 알면서 데이터를 분석하고 싶어하는 사람들
  • 3. 3 Week 1. Development Environment Python, IPython Notebook & GraphLab Create 설치 가이드 설치 절차 • 데이터를 이해하고자 하는 개발자 • 데이터 사이언티스트가 되고 싶어하는 엔지니어 • 수학을 조금 알면서 데이터를 분석하고 싶어하는 사람들 • Anaconda 4.0.0 설치 및 가상환경을 이용한 환경 구성 • Python • Jupyter • Sframe • GraphLab Create • GraphLab Create(상용제품, trial)을 사용하는 이유 • 문제해결에 좀 더 많은 시간을 할당하기 위함. • SW에서 제공하는 기능을 가능한 활용 https://turi.com/download/install-graphlab-create.html?email=freepsw%40gmail.com&key=2F8A-2D9E-43DE-3AC0-3312-B6EA-79CE-1BF5 • 데이터를 이해하고자 하는 개발자 • 데이터 사이언티스트가 되고 싶어하는 엔지니어 • 수학을 조금 알면서 데이터를 분석하고 싶어하는 사람들 https://www.coursera.org/learn/ml-foundations/supplement/5HQGl/reading-getting-started-with-python-ipython-notebook-graphlab-create # 1. 필요 라이브러리 설치 > sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite3 sqlite-devel openssl-devel –y > sudo yum install freetype freetype-devel libpng-devel -y # 2. Anaconda 설치 > wget https://repo.continuum.io/archive/Anaconda2-4.0.0-Linux-x86_64.sh > bash Anaconda2-4.0.0-Linux-x86_64.sh à $PATH에 anaconda에서 제공하는 python 경로가 포함되도록 설정 à ~/.bash_profile에 ” export PATH=$HOME/anaconda2/bin:$PATH ” # 3. Anaconda 가상환경 구성 > conda create -n gl-env python=2.7 anaconda=4.0.0 # 4. Activate the conda environment > source activate gl-env # 5. Install your licensed copy of GraphLab Create > pip install --upgrade --no-cache-dir https://get.graphlab.com/GraphLab- Create/2.1/freepsw@gmail.com/2F8A-2D9E-43DE-3AC0-3312-B6EA-79CE-1BF5/GraphLab-Create-License.tar.gz à 코세라 강의를 위한 라이센스를 발급받고 이를 이용하여 설치 (https://turi.com/learn/coursera/) # 6. Jupyter Notebook 실행 (.ipynb 파일이 있는 폴더에서 실행) > conda install ipython-notebook > Jupyter notebook # 7. Browser로 접속 (http://서버IP:8888) • 본인 Notebook/PC로 실행하면 문제없음. • UI가 없는 Server를 활용할 경우, Juypter를 외부에서 접속할 수 있는 서버로 실행해야함. • http://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security
  • 4. 4 Week1. Canvas for data visualization GraphLab Create를 이용하여 시각화한 웹서버 접근방법 (sf.show() 실행시) 로컬 환경인 경우 원격서버 환경 • 원격서버(AWS, GCE, 개발서버 등)에 실습환경 구축한 경우 • [문제] Link 클릭시 접속 오류 발생 • [해결] SSH Port Forwarding을 통하여 접속 • 실습환경을 local PC에 설치한 경우 매뉴얼 대로 동작 # local PC에서 실행 (port forwarding 연결) > ssh -L 37025:localhost:37025 rts@192.168.X.X (원격서버 ip) • 출력된 link를 통해 graphlab creat 화면 접속 참고 : http://blog.naver.com/freepsw/220892098919 # local PC Browser http://localhost:37025/index.html 접속
  • 6. 6 Week 2-1. Linear regression modeling 주변 주택시세(크기 기준)를 이용하여 선형모델을 생성해 보자 • 가상의 선(W0, W1)을 그리고 예측값과 실제값의 차이(Residual sum of square)를 계산. • 이 값이 최소가 되는 선형을 선택하여 가격을 예측 • 집의 크기와 가격을 기준으로 그래프를 그리고, • 집의 평수에 해당하는 가격을 대략 산정 가능 직관적인 분석을 통한 시세 예측 모델 Linear regression을 활용한 예측 모델
  • 7. 7 Week 2-2. Evaluating regression model Feature를 추가하여 모델의 예측 정확도를 높인다 • 수강생의 역량 • Capstone 프로젝트 결과물 등 • 2차원에서는 단순한 선형을 가지지만, • Feature가 추가되면서 고차원의 선형으로 데이터를 분류함. Feature 추가에 따른 선형의 변화 (고차원) 수강생들이 회사에 취직할 확률
  • 8. 8 Week 2. Assignment Graphlab을 이용하여 탐색적 분석 및 regression model 평가 • Graphlaba에서 제공하는 api를 이용한 모델생성• Feature와 price간의 관계를 다양한 chart를 이용하여 시각화 Graphlab create를 이용한 시각화 Regression model 생성 • 생성된 모델에 대한 평가
  • 10. 10 Week 3-1. Classification modeling 음식(메뉴)에 대한 평가(긍정,부정)를 분류하는 서비스 • 1) 모든 평가 댓글을 취합 • 2) 특정 메뉴가 포함된 문장만 추출 • 3) 감성분석을 위한 분류기 적용 • 4) 메뉴별 평가정보 추출 • 고갱의 댓글 또는 평가에 대한 문장을 분석하여, • 특정 메뉴에 대한 긍정/부정의 감성분석을 하고, • 어떤 메뉴가 가장 큰 긍정적인 평가를 받는지 확인 개념적인 모델 상세 모델 Classifier의 성능(예측정확도) 중요
  • 11. 11 Week 3-1. Simple Threshold Classifier 긍정/부정의 단어에 일정한 점수를 부여하여 분류하는 모델 • 긍정/부정의 단어를 직접 구성해야 함. (모두 파악할 수 있나?) • 단어별로 긍정/부정의 강도가 다름 (Greate > good) • 단어별로 가중치가 필요하지 않을까? • 긍정/부정의 단어를 사전에 정의함. • 입력된 문장에 포함된 단어를 집계하여 score의 합을 계산 모델의 구성 Threshold classifier의 문제점 • 하나의 단어로 긍정/부정을 평가하기 어려움 • Good à 긍정 • Not Good à 부정 Classifier를 학습 (후반부에 자세히 설명) 좀 더 복잡한 feature를 이용
  • 12. 12 Week 3-1. Linear Classifier 단어별로 가중치를 부여하여, 긍정/부정의 score로 분류 • 아래 문장에서 긍정을 표현하는 단어의 가중치가 높아서 • 긍정으로 분류함 • 가중치가 부여된 단어의 score 합계를 이용하여 • 긍정/부정을 분류함 모델의 구성 문장의 Scoring
  • 14. 14 Week 3-2. Training and evaluating a classifier Classifier를 학습한다는 것은, Error를 최소화 하는 최적의 weight를 찾는것이다 • Training set를 이용하여 최적의 weight를 학습하고, • Test set를 이용하여 정확도를 검증한다. • 아래와 같이 가중치가 부여된 경우 • linear regression의 함수를 생성할 수 있다. Decision boundary 결정 최적의 weight 탐색 과정 • 위 함수를 이용하여 긍정/부정을 분류 가능 awesome 2회 awful 1회
  • 15. 15 Week 3-2. False positives, false negatives 학습된 모델이 예측을 실패하는 유형 이해 • [Spam Filtering] • FP : 정상 메일을 spam으로 판단하면, 중요한 메일을 읽지 못함. • [병/질환 진단] • FN : 실제 병이 있는데, 없는 것으로 판단 à 치료시기 놓침 • FP : 병이 없는데 있다고 판단 à 불필요한 치료비용/독한 약 • False Negative : 부정(Negative)으로 예측한 것이 틀렸다(False) • False Positive : 긍정(Positive)으로 예측한 것이 틀렸다(False) 모델의 예측 실패 유형 예측 실패의 영향
  • 16. 16 Week 3-2. Learning curves 데이터가 많을 수록 예측 오류는 줄어들지만, 특정 bias(편향) 이하로는 줄지 않음 • 단순한 단어가 아닌 복합 단어를 포함한 파라미터를 추가• 데이터가 많을 수록, 모델의 정확도가 높아짐 (오류가 감소) 데이터와 예측오류의 관계 복잡한 모델은 bias 감소 데이터가 무한대로 증가해도, 오류가 감소하지 않음 • 기존 모델과 비교하여 오류가 현저하게 감소함
  • 17. 17 Week 3-2. Class probabilities 모델의 예측 정확도를 신뢰할 수 있도록 확률로 표현한다 • 입련 문장에서 긍정/부정이 나타날 확률로 계산• 단어를 보고 긍정 or 부정 판단 • 하지만, 실제 문장에는 긍정과 부정이 함께 표현되는 경우가 많음 • Sushi는 맛있지만, 서비스는 별로? 기존 모델의 예측 방식 확률을 통한 예측 • 따라서, • 이를 특정 문장이 주어졌을때, • 긍정이 나타날 확률과 • 부정이 나타날 확률로 구분해야 한다
  • 18. Week 4 Clustering and Similarity : Retrieving Documents 18
  • 19. 19 Week 4-1. Algorithms for retrieval and measuring similarity of documents 수많은 문서들간의 유사도를 비교하는 방법 • 입련 문장에서 긍정/부정이 나타날 확률로 계산• 단어의 순서는 무시하고, • 단어가 얼마만큼 나타났는지의 빈도로 유사도를 계산 Bag of Words model (단어 주머니) Word Count 유사도 계산 방식
  • 20. 20 Week 4-1. Prioritizing important words with tf-idf 희소단어들은 기사의 주제를 잘 표현하므로, 가중치를 높여야 한다 • 상용어인 “The”의 비중을 줄이고, • “Messi”와 같은 의미있는 단어의 가중치를 높임. • 일부 문서에서만 나타나는 희소단어의 가중치를 높이기 위해서, • 많이 발생하는 단어의 가중치를 감소시킨다. • IDF • Log(전체 문서 수 / 단어가 포함된 문서) • Log 함수로 아주 큰 수가 나오지 않도록 조정 • 발생빈도 높은 단어 à 0에 가까움. • 발생빈도 낮은 단어 à 0보다 크지만, 아주 크지는 않음 TF-IDF (Term Frequency – Inverse Document Frequency) TF-IDF 예시 +1을 하는 이유? 문서의 단어 중 말뭉치에 없는 단어가 있을 수 있으므로, 0이 되지 않도록 1을 추가 log0 16 = 4 (여기서는 log0로 가정) • 최종적으로, Messi라는 단어의 가중치가 20으로 증가되고 • The라는 단어는 0으로 감소
  • 21. 21 Week 4-1. Retrieving similar documents using nearest neighbor 검색 문서간의 유사도를 비교하는 가장 보편적인 기법 • Input : Query article • Output : 가장 유사한 기사 (1개만 출력) • Algorithm : 1. Corpus의 모든 article을 검색하면서 2. 유사도(Query article vs article) 비교 3. 전체 중에 가장 유사도가 높은 것만 출력 • 일부 문서에서만 나타나는 희소단어의 가중치를 높이기 위해서, • Query article : 검색기사 (현재 보고 있는 기사) • Corpus(말뭉치) : 모든 문서의 총합, 여기서 추천할 기사를 선택 nearest neighbor search 개념 1 - Nearest neighbor • 거리 기준 : 유사도를 측정할 기준 (distance metric) • Input : Query article • Output : 유사한 기사의 목록 (List of K) K – Nearest neighbor
  • 22. Week 4-2 Clustering models and algorithms 22
  • 23. 23 Week 4-2. Clustering documents task overview 라벨이 없는 article들에서 관련된 기사 및 그룹을 발견하는 방식 • 3개의 클러스터로 지정 후 • 랜덤 중심점 3개로 시작하여, 반복하여 중심점을 조정하면서 • 클러스터를 최적화 하는 기법 • 단어의 빈도를 이용하여 기사(문서)를 자동으로 분류하는 방식 • Input : 문서 (vector형식) • Output : Cluster Label (문서별로 label을 부여, 스포츠/정치 등) Clustering 개념 거리 중심의 클러스터링 (K-Means) • 문서에 포함된 단어가 2개(word1, word2)만 존재하는 경우, • 위와 같이 2차원 평면으로 표현가능 (실제는 더 많은 고차원) • 가장 가까운 거리의 문서 집합을 클러스터로 분류하여 라벨링
  • 24. 24 Week 4. Assignment Wiki의 인물사전의 설명을 기준으로 각 인물간의 유사도를 분류 • TF-IDF 필드를 이용한 유사도 모델 생성 및 평가• Word_Count : ”Text” 필드의 단어 발생 빈도 • TF-IDF : 각 단어가 문서들(Corpus)에 발생한 빈도 Word를 이용한 단어 빈도 계산 거리기반 유사도 모델 • Elton John과 가장 유사 한 사람은 “Phill Collins”
  • 26. 26 Week 5-1. Recommender systems 라벨이 없는 article들에서 관련된 기사 및 그룹을 발견하는 방식 1. 인기도 기반 (Popularity) • 가장 단순 (뉴스에서 활용, 가장 인기 있는 기사 추천) • 독자에게 공유된 횟수 • 문제 • 개인화(개인별 선호도)에 대한 고려 없음 2. Classification Model • 개인별 feature로 모델 학습 • 장점 • 개인의 선호도 반영 • 문맥(시간, 활동내용 등)을 반영한 추천 • 개인의 이력을 반영한 추천 • 단점 • Feature가 부족할 수 있음 (나이, 성별 등..) • à collaborative filtering으로 한계 극복 • 개인화 (Personalization) • 사용자와 Item을 연결 (User vs Product/Movie …) • 추천 시스템의 핵심 개념 • 시간에 따른 변화 • 작년에 구매한 유아 운동화를 몇년 후에는 구매하지 않음 • 시간에 따라 다른 추천 • Item의 유사성 • 음악 청취시 비슷한 음악을 연속적으로 듣는 경향 Recommender system의 특징 추천 모델의 유형
  • 28. 28 Week 5-2. Collaborative Filtering 구매이력을 기반으로 특정 상품을 산 사람들은 다른 특정 상품을 살거라는 가정 • 특정 상품이 압도적으로 많이 구매되는 경우, (예를 들어 기저귀) • 어떤 상품을 구매하더라도, 무조건 그 상품(기저귀)를 추천함 • Matrix C • 사용자가 구매한 상품간의 대칭 Matrix • 특정 상품을 구매한 사람이 어떤 상품을 동시에 구매했는지 쉽게 확인 가능 Co-Occurrence Matrix (상품 구매 매트릭스) Co-occurrence matrix의 문제점 (populiarity) • 기저귀와 아기 물티슈를 동시에 구매한 사람 수 • 이 Matrix를 이용하면, • 특정 상품을 구매한 사람이 구매한 다른 상품의 갯수(많이 구매) 순서로 추천할 수 있다. • 기저귀를 먼저 추천 à
  • 29. 29 Week 5-2. Normalizing co-occurrence matrix Popularity를 기준으로 유사도를 가지도록 데이터를 정규화 • 구매 이력에 있는 각 상품에 대하여, • 추천할 상품과의 점수를 구하고, (Co-occurrecne matrix 사용) • 이를 평균으로 나누어서 가중 점수를 계산 • 내가 구매한 이력이 (diaper, milk)만 있고, • 나머지 상품에 대한 추천점수를 계산해야 한다면, • Diaper와 milk와 다른 상품간의 점수를 각각 계산하고, • 이를 평균으로 계산 • 상품 i와 j를 동시에 구매한 사람의 수를 • 상품 I 또는 j를 구매한 전체 사용자 수로 나누어 유사도를 구한다. • 이 공식을 이용해 전체 Matrix를 정규화 Jaccard similarity Weighted Average of purchased items [ Co-occurrence Matrix의 문제점] • 현재 상태(특정 상품]만 추천이 가능 • 즉, 과거의 구매이력을 이용하여 추천하지 못함. • 왜냐하면, matrix에서 전체 이력을 계산한 값이 없기 때문… • 이 점수가 가장 높은 순으로 추천한다 • Baby wipes 추천 점수 • (가중 평균점수) [ 한계점] • 문맥(시간 등), 사용자 개인정보, 제품정보를 반영하지 못함. • Cold Start Problem (신규 사용자 또는 신규제품은?)
  • 30. 30 Week 5-3. Matrix Factorization 데이터를 통하여 사용자 또는 상품의 특징을 학습하는 방법 (행렬 분해) (예를 들어, 영화 평점데이터를 통해 사용자 및 영화의 특징 추출) • Feature : X1, X2 (영화의 특징) • 가중치 : 𝜽(𝒖𝒔𝒆𝒓) • 예측평점 : 𝒚 = 𝜽 𝒋 𝑻 (𝒙 𝒊 ) • 즉, 사용자가 영화를 평가했던 이력이 있고, • 사용자 및 영화의 feature을 가지고 있다면, • 여기서는 romance, action 등의 선호도 • 실제는 사용자(나이, 성별, 거주지역 등), 영화(감독, 배우, 장르 등) • 이를 통해서 가중치를 학습하여 최적의 값을 찾는다. (cost 최적화) • Feature(특징)이 정의되지 않은 경우, 이를 데이터를 통해 학습 • 먼저, 사용자(U)와 영화(V)의 feature matrix를 이용하여 점수 (rating)을 예측해 보자. 데이터를 통해 특징을 찾아서 분해(Matrix Factorization) Feature를 통해 학습하여 가중치 추출 • Andrew NG 강의 • Week 9 참고 (더 자세함) • 학습을 통해 𝜽를 최소화 가중치를 통해서 Feature(유형)를 추출 • 가중치를 알면, 평가점수를 기반으로 feature를 추출 가능 • 즉, 사용자 및 영화의 feature를 추출 • 이를 통해 사용자의 유형을 분류할 수 있음 • 사용자 1(Allice)의 3번째 영화(Cute pupple of love)의 평점을 예측해 보자 • 이때 𝜽(𝟏) 은 사전에 학습되었다고 가정한다. [0, 5, 0]
  • 31. Week 5-4 Performance metrics for recommender systems 31
  • 32. 32 Week 5-4. performance metric for recommender systems 사용자가 관심있는 상품만 추천할 수 있도록 recall-precision curve 활용 • Precision-recall curve • Recall을 최대치(1)로 높여가는 과정에서의 관계 그래프 • Recall (재현율) • 사용자가 관심있는 상품을 몇개나 추천했는지? • 전체 100개 중, 관심있는 상품은 10개 (1~10) • 추천을 5개 했다면 (7 ~ 11) • 4/10 = (7, 8, 9, 10) / (1 ~ 10) = 40% • Precision (정확도) • 추천한 상품에 사용자가 관심있는 상품이 얼마나 있는가? • 4/5 = (7, 8, 9, 10) / (7 ~ 11) = 80% • 추천모델에서 관심있는 상품을 추천하는 것이 중요!! • 따라서 recall을 향상하도록 추천 알고리즘을 평가해야 함. Recall vs Precision 추천 알고리즘 평가 방법 • 1/1 = 100% • 1개 추천했는데, • 1개가 관심상품 • 10/10 = 100% • 10개 추천했는데, • 10개가 관심상품 • (전체 관심상품 10개) • 2/5 = 100% • 5개 추천했는데, • 2개가 관심상품 • Precision : 2/5 : 0.4 • Recall : 2/10 : 0.2 • 2/10 = 100% • 10개 추천했는데, • 2개가 관심상품 • Precision : 2/0 : 0.2 • Recall : 2/10 : 0.2 • 정확도는 떨어져도, 재현율 은 변화 없음 • AUC(Area under the curve) 평가 • 커브 아래의 면적이 큰 알고리즘 을 우선 선택
  • 33. Week 6 Deep Learning : Searching for images (Andrew NG 강의 및 모두를 위한 딥러닝 참고) 33
  • 34. 34 Week 6. Quiz (x1 AND x2) OR (NOT x1 AND NOT x2) 문제를 NN으로 표현하는 방법 • 수식을 2개로 분리하고, 각 결과를 다시 계산 • 총 3단계의 가중치가 필요함 • Z1(w0, w1, w2), Z2(w0, w1, w2), Z3(w0, w1, w2) • Z1 à -1.5, 1, 1 • Z2 à 0.5, -1, -1 • Z3 à -0.5, 1, 1 • (x1 AND x2) OR (NOT x1 AND NOT x2) 정의 • X1과 X2의 논리 연산 결과 확인 • 아래와 같이 (1 0 0 1)이 도출되어야 정답 문제 문제 풀이 방법 https://www.coursera.org/learn/ml-foundations/discussions/weeks/6/threads/AAIUurrtEeWGphLhfbPAyQ • 정답을 찾기 위해서는 어떤 가중치(weight)가 주어져야 할까? • Deep Learning에서는 Cost 최적화를 통하여 • 위의 가중치(w0, w1, w2)를 자동으로 찾아 줌
  • 35. END