SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2Haesun Park
 
Reinforcement learning
Reinforcement learningReinforcement learning
Reinforcement learningTae Young Lee
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련Haesun Park
 
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01Kwang Woo NAM
 
4.representing data and engineering features(epoch#2)
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
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝Haesun Park
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개Terry Cho
 
5.model evaluation and improvement
5.model evaluation and improvement5.model evaluation and improvement
5.model evaluation and improvementHaesun Park
 
Supervised Constrastive Learning
Supervised Constrastive LearningSupervised Constrastive Learning
Supervised Constrastive LearningSungchul Kim
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learningHaesun Park
 
Ch.5 machine learning basics
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basicsJinho Lee
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류Haesun Park
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsseungwoo kim
 
2.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-12.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-1Haesun Park
 
집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01Kwang Woo NAM
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)Haesun Park
 
Enliple korquad challenge
Enliple korquad challengeEnliple korquad challenge
Enliple korquad challengeSanghyun Cho
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터JEEHYUN PAIK
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3Haesun Park
 
4.representing data and engineering features
4.representing data and engineering features4.representing data and engineering features
4.representing data and engineering featuresHaesun Park
 

Tendances (20)

2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2
 
Reinforcement learning
Reinforcement learningReinforcement learning
Reinforcement learning
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
 
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
 
4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
 
5.model evaluation and improvement
5.model evaluation and improvement5.model evaluation and improvement
5.model evaluation and improvement
 
Supervised Constrastive Learning
Supervised Constrastive LearningSupervised Constrastive Learning
Supervised Constrastive Learning
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learning
 
Ch.5 machine learning basics
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basics
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
 
2.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-12.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-1
 
집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)
 
Enliple korquad challenge
Enliple korquad challengeEnliple korquad challenge
Enliple korquad challenge
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 
4.representing data and engineering features
4.representing data and engineering features4.representing data and engineering features
4.representing data and engineering features
 

En vedette

[한국어] 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...
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...Kiho Suh
 
STRONG KOREA 20130609
STRONG KOREA 20130609STRONG KOREA 20130609
STRONG KOREA 20130609Leo Kim
 
기계 학습의 현재와 미래
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래Joon Kim
 
20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료JungGeun Lee
 
기술적분석 16 trix
기술적분석 16 trix기술적분석 16 trix
기술적분석 16 trixAnt House
 
Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)JungGeun Lee
 
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5SANG WON PARK
 
알파고 해부하기 3부
알파고 해부하기 3부알파고 해부하기 3부
알파고 해부하기 3부Donghun Lee
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
 
머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical ModelJungkyu Lee
 
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님 [BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님 BIZ+
 
1차시 smart education
1차시 smart education1차시 smart education
1차시 smart educationJaechoon Jo
 
주식 기술적 분석#3 (추세선)
주식 기술적 분석#3 (추세선)주식 기술적 분석#3 (추세선)
주식 기술적 분석#3 (추세선)Ant House
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기정주 김
 
알파고 학습 이해하기
알파고 학습 이해하기알파고 학습 이해하기
알파고 학습 이해하기도형 임
 
기술적분석16 sonar
기술적분석16 sonar기술적분석16 sonar
기술적분석16 sonarAnt House
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introductionTaehoon Kim
 

En vedette (20)

[한국어] 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...
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...
 
STRONG KOREA 20130609
STRONG KOREA 20130609STRONG KOREA 20130609
STRONG KOREA 20130609
 
기계 학습의 현재와 미래
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래
 
20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료
 
기술적분석 16 trix
기술적분석 16 trix기술적분석 16 trix
기술적분석 16 trix
 
Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)
 
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5
 
알파고 해부하기 3부
알파고 해부하기 3부알파고 해부하기 3부
알파고 해부하기 3부
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝
 
4차산업혁명
4차산업혁명4차산업혁명
4차산업혁명
 
머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model
 
인공지능을 위한 뇌과학
인공지능을 위한 뇌과학인공지능을 위한 뇌과학
인공지능을 위한 뇌과학
 
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님 [BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
 
1차시 smart education
1차시 smart education1차시 smart education
1차시 smart education
 
주식 기술적 분석#3 (추세선)
주식 기술적 분석#3 (추세선)주식 기술적 분석#3 (추세선)
주식 기술적 분석#3 (추세선)
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
 
알파고 학습 이해하기
알파고 학습 이해하기알파고 학습 이해하기
알파고 학습 이해하기
 
기술적분석16 sonar
기술적분석16 sonar기술적분석16 sonar
기술적분석16 sonar
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
 

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

알고리즘 마케팅 CH5
알고리즘 마케팅 CH5알고리즘 마케팅 CH5
알고리즘 마케팅 CH5kyuchul kim
 
스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기Sunyoung Shin
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스한 경만
 
Recommendatioin system basic
Recommendatioin system basicRecommendatioin system basic
Recommendatioin system basicSoo-Kyung Choi
 
추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-drafthyunsung lee
 
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best PracticesBokyung Choi
 
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best PracticesPAP (Product Analytics Playground)
 
2018 06-11-active-question-answering
2018 06-11-active-question-answering2018 06-11-active-question-answering
2018 06-11-active-question-answeringWoong won Lee
 
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료WonJongOh1
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스Hee Jae Lee
 
데이터를 얻으려는 노오오력
데이터를 얻으려는 노오오력데이터를 얻으려는 노오오력
데이터를 얻으려는 노오오력Youngjae Kim
 
프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들Lee Geonhee
 
RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포
RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포
RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포r-kor
 
Automated program corrector for programming assignments using Deep Learning
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 LearningSoo Kim
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA Terry Cho
 
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스Minkyu Cho
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
Intro to JavaScript - Week 1: Value, Type, Operator
Intro to JavaScript - Week 1: Value, Type, OperatorIntro to JavaScript - Week 1: Value, Type, Operator
Intro to JavaScript - Week 1: Value, Type, OperatorJeongbae Oh
 
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초Jay Park
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018devCAT Studio, NEXON
 

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

알고리즘 마케팅 CH5
알고리즘 마케팅 CH5알고리즘 마케팅 CH5
알고리즘 마케팅 CH5
 
스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스
 
Recommendatioin system basic
Recommendatioin system basicRecommendatioin system basic
Recommendatioin system basic
 
추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft
 
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
 
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
 
2018 06-11-active-question-answering
2018 06-11-active-question-answering2018 06-11-active-question-answering
2018 06-11-active-question-answering
 
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
 
데이터를 얻으려는 노오오력
데이터를 얻으려는 노오오력데이터를 얻으려는 노오오력
데이터를 얻으려는 노오오력
 
프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들
 
RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포
RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포
RUCK 2017 김대영 R 기반 프로덕트의 개발과 배포
 
Automated program corrector for programming assignments using Deep Learning
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
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA
 
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
Apache Mahout 맛보기 - 30분만에 추천시스템 만들기 for 네이버 TV 서비스
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
Intro to JavaScript - Week 1: Value, Type, Operator
Intro to JavaScript - Week 1: Value, Type, OperatorIntro to JavaScript - Week 1: Value, Type, Operator
Intro to JavaScript - Week 1: Value, Type, Operator
 
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
(책 소개) 가상 면접 사례로 배우는 대규모 시스템 설계 기초
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
 

Plus de SANG WON PARK

Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessSANG WON PARK
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
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
 
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)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 )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimizationSANG WON PARK
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring SANG WON PARK
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3SANG WON PARK
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트SANG WON PARK
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안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...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...SANG WON PARK
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)SANG WON PARK
 
코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)SANG WON PARK
 
Rancher Simple User Guide
Rancher Simple User GuideRancher Simple User Guide
Rancher Simple User GuideSANG 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)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)SANG WON PARK
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNNSANG WON PARK
 
Hadoop eco story 이해
Hadoop eco story 이해Hadoop eco story 이해
Hadoop eco story 이해SANG WON PARK
 

Plus de SANG WON PARK (16)

Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_business
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
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
 
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
 
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 )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimization
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
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...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)
 
Rancher Simple User Guide
Rancher Simple User GuideRancher Simple User Guide
Rancher Simple User Guide
 
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)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
 
Hadoop eco story 이해
Hadoop eco story 이해Hadoop eco story 이해
Hadoop eco story 이해
 

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