SlideShare a Scribd company logo
1 of 63
Download to read offline
From Machine Learning
To Deep Learning
Episode #2
김용대
nukko72@gmail.com
지난번 우리는...
• 머신러닝 개요
• 지도 학습
• Linear Regression / Multi-variable Linear Regression
• Logistic Classification / Multinomial Logistic Classification
• Learning Rate/ Overfitting / Regularization
• 비지도학습
• K-means
• Deep Learning
• Neural Network
• CNN
• RNN
오늘 우리는...(Class 1)
• 복습 Episode #1
• Linear Regression
• Logistics Regression
• 지난번 안하고 넘어간 기본 개념들
• MLE / Bayesian Theorem/ MAP
• Rule Based Machine Learning
• Decision Tree
• Naive Bayes classifier
• KNN
• Support Vector Machine
오늘 우리는...(Class 2)
• 비지도 학습
• 클러스터링
• K-means
• 계층적 클러스터링
• 밀도기반 클러스터링
• 차원 축소
• LDA
• PCA
복습 Episode #1
머신러닝
• 데이터를 통하여 기계가 모델을 스
스로 찾아내는 과정
• 데이터에서 모델을 찾아내는 과정이
마치 기계가 데이터를 학습해 모델
을 알아내는 것과 비슷해서 붙은 이
름
• 모델을 통하여 입력값에 대한 예상
되는 출력값을 반환한다.
데이터
머신러닝
모델입력값 출력값
Linear Regression
2 3 9 10
30
50
80
90
5
?
y = ax + b
5시간을 공부 했을때 예측되는 점수?
• 주어진 점(데이터)들과 가장 가까운 직선을 찾는
다
• 기울기 (a) 와 절편 (b)
100
기울기(a) = W (weight)으로 표기
y는 예측되는 x에 대한 가설 (Hypothesis)의 결과값
y = H(x) = Wx + b
Cost
2 3 9 10
30
50
80
5
• 점과 직선사이의 거리가 멀면 나쁜것
• 가중치를 준다 (제곱)
• 거리에 제곱한것을 모두 더하고, x 항목의
개수로 나눠서 평균을 구한다. => 분산
Liner Regression
데이터 x
랜덤값 W, b
Wx + b
1
m
m
∑
I=1
(Wx − y)2 Gradient
descent
W, b
완성된 모델
Wx + b
Hypothesis
Cost Function
Logistics Regression
• Binary Classification
• 1 (True) or 0 (False)
• 악성 파일(1) or 정상 파일(0)
• 데이터를 이항 분류할 수 있는 이상적인 그래프를 찾는것
Sigmoid Function
New cost function for
Logistics
Multinomial Logistic
Regression
• Multi Classification
• 0 ~ N 까지 클래스별 분류
• 정상 파일(0), 트로이목마(1), 백도어(2), 하이재커(3), …
• 데이터를 클래스별로 분류할 수 있는 이상적인 여러 그래프를 찾는것
Multinomial Logistic
Regression
Softmax
• i번째 y값의 중요도를 지수적으로 증가시켜 각 값 사이의 편차를 늘린
다음 정규화 하는 함수
• 지수적으로 증가시켜 각 값의 편차를 확대시켜 큰 값은 상대적으로
더 크게, 작은값은 더 작게 만든 다음 Normalization 시키는 함수
• 전체 합은 1
Cost Function
One-hot Encoding
강아지
고양이
백설기
0.2
0.1
0.7
예측값
1
0
0
실제값
One-hot Encoding
Cross Entropy Cost Function
Cross Entropy Cost Function
Cross Entropy Cost Function
cost(W) =
1
m
m
∑
I=1
(XW − Y)2
지난번 안하고 넘어간 기본개념들
Probability
• 우리는 일반적으로 동전 하나를 던졌을 때 앞 또는 뒤가 나올 확률은 같다고
가정하여 0.5라고 생각한다
• 하지만 이 0.5라는 확률 값은 정확한 값이 아니라 우리가 가정한 값이다.
• 때문에 몇 번 의 수행 결과로 동전의 앞면이 나올 확률 P(H)를 정하고자 한다.
Probability
• 동전은 앞,뒤 50%의 확률로 나온다고 한 가정(Hypothesis)는
• 100번의 동전 던지기를 수행 했을 때, 앞면이 56번 나왔다면
• 어느정도의 오차 (거리)를 갖고 있는가?
MLE (Maximum Likelihood Estimation)
• Likelihood
• 어떤 가설을 전제 하였을때, 사건이 얼마나 나타날 수 있는가에 대한 정도
• L(T|E) : 증거 E가 관측되었을 때 이론 T와 그럴듯한 정도
• 앞의 예에서 가설 𝜃 = p = 0.52 로 한다면? 그리고 가설을 바꿔가면서 측정한다면?
• Maximum Likelihood
• 관찰값의 확률을 가장 크게 만드는 p = 𝜃 를 선택하는 것
•
•
•
• 파라메터의 갯수가 많고 모델이 복잡한 경우 간단하게 사용할 수 있음
̂θ = argmaxθP(D|θ) = argmaxθ{θaH
(1 − θ)aT
}
̂θ = argmaxθln{θaH
(1 − θ)aT
= argmaxθ{aHlnθ + aTln(1 − θ)}
d
dθ
(aHlnθ + aTln(1 − θ)) = 0
aH
θ
−
aT
1 − θ
= 0 θ =
aH
aT + aH
Bayesian Theorem
• 어떤 사건 B가 일어났을 때 사건 A가 일어날 확률
• P(B) > 0 일때 사건 B가 일어났을때 사건 A의 조건부 확률
• P(A) : A의 사전확률. 어떠한 사건에 대한 정보가 없을 때의 확률
• P(A|B) : B에 대한 A의 사후확률. B라는 정보가 주어졌을 때의
확률
P(A|B) =
P(B|A)P(A)
P(B)
MAP
• MAP
• 주어진 관측 결과와 ‘사전지식(사전확률)’을 결합해서 최적의 𝜃를 찾는것
• 베타 분포(Beta distribution)에 의한 P(𝜃)의 계산
P(θ|D) =
P(D|θ)P(θ)
P(D)
Posterior =
Likelihood × PriorKnowldge
NormalizingConstant
MLE & MAP
• MLE
• 주어진 관측 결과의 발생 가능성을 가장 높게 만들어주는 𝜃를 찾는것
• 매우 직관적. 별다른 가정을 하지 않고 주어진 관측결과를 바탕으로 쉽게 계산 (관측결과가 이항분포를 따를것이라는 가정이 있음)
• 관측결과에 의존하기 때문에 관측결과의 정확성에 따라 모수(𝜃) 추정의 성패가 크게 좌우됨
• MAP
• 주어진 관측 결과와 ‘사전지식(사전확률)’을 결합해서 최적의 𝜃를 찾는것
• 단순히 관측결과에만 의존하는 것보다 기존의 알고 있는 정보를 반영한다는 점에서 매우 합리적인 방법
• 사전지식에 대한 모델링이 어려움, 사전지식에 대한 모델리에 따라 추론 결과인 사후 확률의 정확도가 크게 좌우됨
• Probably Approximate Correct (PAC) learning
Rule Based Machine Learning
Rule Based Machine Learning
Decision Tree
Entropy & Information Gain
• Entropy
• 주어진 데이터 집합의 혼잡도
• 엔트로피는 0과 1사이의 값, 혼잡도가 높은 상태가 1. 하나의 클래스로 구성된 상태 0.
• 엔트로피가 높은 상태에서 낮은 상태가 되도록 나무 모양을 생성해 나감
• Conditional Entropy
• 특정 feature (주어진 X)에 대한 정보가 있을 경우 Y의 Entropy를 측정
• Information Gain
• 어떤 속성을 선택함으로 인해서 데이터를 더 잘 구분하게 되는 것을 의미함
• 상위노드의 Entropy에서 하위노드의 Entropy를 뺀것 IG(Y, Ai) = H(Y) − H(Y|Ai)
H(Y) = − ΣxP(X = x)logbP(X = x) H(Y) = −
10
16
log2(
10
16
) −
6
16
log2(
6
16
)
Decision Tree
• 세분화
• 전체 데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할해 그룹별 특성을 발견하는 경우 또는 각 고객이 어떤 집단에 속하는지를 파악하
고자 하는 경우
• ex) 시장세분화, 고객세분화
• 분류
• 관측개체를 여러 예측변수들에 근거해 목표변수의 범주를 몇개의 등급으로 분류하고자 하는 경우
• ex) 고객을 신용도에 따라 우량/불량으로 분류
• 예측
• 자료에 규칙을 찾아내고 이를 이용해 미래의 사건을 예측하고자 하는 경우
• ex) 고객속성에 따라서 대출한도액을 예측
• 차원축소 및 변수선택
• 매우 많은 수의 예측변수중에서 목표변수에 큰 영향을 미치는 변수들을 골라내고자 하는 경우
• CART, ID3, CHAID, C4.5, C5.0 알고리즘이 활용도가 높은편
Naive Bayes Classifier
• Naive : 각각의 feature가 독립적(conditionally
independent)임을 가정
Naive Bayes Classifier
Naive Bayes Classifier
• Bag of words
• 안전한 문자 word list <광고, 베팅, 수익률, 택배, 청접장>
• Vector <0, 1, 1, 0, 0>
• 분류
• 스펨 / 정상
•
KNN (k-Nearest Neighbor)
• 분류에 사용하는 알고리즘
• 새로운 데이터가 들어왔을 때 기존 데이터의 그룹 중 어떤 그룹에 속하는지를
분류
• k-NN은 새로들어온 ‘★은 ■ 그룹의 데이터와 가장 가까우니 ★은 ■ 그룹이다’
• 여기서 k의 역할은 몇 번째로 가까운 데이터까지 살펴볼 것인가를 정하는 숫자
KNN (k-Nearest Neighbor)
• 기존 데이터 A~F, 신규 N
• k = 1 인 경우
• N = C 와 같은 그룹 ‘●’
• k = 3 인 경우
• C, D, E 그룹들과 비교
• 이때 그룹이 갈리면 다수결의 원칙에 따른다
• 여기서는 1 : 2가 되어 N은 ▲로 분류된다
• 이처럼 같은 데이터임에도 k가 얼마냐에 따라 N이 ●로 분류되기도 하고 ▲로 분류되기도 한다.
Euclidean Distance
• 유클리드 거리 = 두 점사이의 거리
• k-NN은 거리 측정 방법에 따라 결과가 크게 달라지는 알고리즘
• k-NN에서 가깝다는 개념은 유클리드 거리(Euclidean Distance)로 정의하는데, 유클리드 거리를 계산할 때는 단위가
매우 중요
• 예) Y축의 단위가 달라($)로 가정
• A-N 간 거리는 B-N간 거리는 B가 더 가까움.
• Y축의 단위가 원(KRW)로 가정
• A-N 간 거리는 B-N간 거리는 A가 더 가까움.
• 변수별 단위에 따라 거리가 달리지고, 가까운 순서도 달라짐
• 반드시 k-NN 알고리즘 적용 시 데이터 표준화를 해주어야함
(x1 − y1)2
+ . . . + (xn − yn)2
= Σn
i=1(xi − yi)2
10 8
32
+ 10002
22
+ 20002
Manhattan Distance &
Minkowski Distance
• 맨하튼 거리 (Manhattan Distance)
• A에서 B로 이동할 때 각 좌표축 방향으로 만 이동할 경우에 계산되는 거리
• 민스코스키 거리 (Minkowski Distance)
• Euclidean Distance와 Manhattan Distance를 한번에 표현하는 공식
• Manhattan Distance가 L1 Distance, Euclidean Distance가 L2 Distance
• m = 1 이면 manhattan, 2면 Euclidean
dManhattan(X,Y) =
n
Σ
i=0
|xi − yi |
Lm = m
n
Σ
i=1
(|xi − yi |)m
Other distance methods
• 코사인 유사도 (Cosine similarity)
• 두개의 실수값을 갖는 속성 벡터 x, y간에 사용
• 값이 1이면 완전 동일, 0이면 상호 독립, -1이면 완전 반대
• 자커드 거리 (Jaccard Distance)
• 객체 집합간의 거리를 표현, 두 집합이 얼마나 유사한지 표시
• 마할라노비스 거리 (Mahalanobis Distance)
• 두개의 실수 벡터 간에 사용
• 유클리드 거리에 비해 상관관계를 고려할 수 있고 단위와 무관한 거리
• 해밍 거리 (Hamming Distance)
• 두개의 문자열, 같은 길이의 DNA 서열간의 거리를 구하는데 사용
• 문자의 위치를 옮겨가며 그 위치에 있는 문자들이 서로 같은지 보고 다르면 1씩 늘려간다.
Support Vector Machine
• 패턴인식, 자료분석을 위한 지도학습 모델로 분류와 회귀분석을 위해 사용
• Decision Boundary with Margin
• 빨간 두점을 잇는 직선( )과 평행하게 이동하면서 파란점을 만나는 직선( )을 찾는다
• 두 직선의 가운데 직선 = Decision boundary
• Margin = Decision boundary에서 까지의 거리
• Support Vector : Decision boundary를 결정하는데 필요한 3개의 점
• w x + b = 0
• Positive case
• w x + b > 0
• Negative case
• w x + b < 0
• confidence level (신뢰수준)
•
⃗A ⃗B
⃗A
(wxj + b)yj
Margin Distance
r
Maximizing the Margin
j => Learning Instance
= Training set의 input features
Support Vector Machine
• 장점
• 분류문제나 예측문제 동시에 사용할 수 있다
• 신경망 기법에 비해서 과적합 정도가 덜하다
• 사용하기 쉽다.
• Incremental learning : 새로운 학습 데이터가 추가 되었을 때 기존의 학습 데이터를 포함해서
재 학습 하는것이 아닌, 업데이트만 하면 됨
• 단점
• Kernel과 모델 파라미터를 조절하기 위한 테스트를 여러 번 해봐야 최적화된 모형을 만들 수 있
다.
• 모형 구축 시간이 오래 걸린다.
More SVM
• Support Vector Machine은 딥러닝과 경쟁하며 발전하고 있는 분류 및 회귀
분석 머신러닝 알고리즘
• 비선형 분류를 위한 추가 개념
• Soft Margin
• Error Handling
• Kernel trick
• Lagrange Multiplier Method
• 등등은 다음 기회에...
비지도학습
비지도학습
• 라벨링이 되어있지 않은 데이터로부터 데이터들의 속성을 찾는것
• Clustering
• 특성에 따라 데이터의 패턴이나 규칙을 통해 여러 집단으로 나누는것
• 데이터가 분리되어있는지 (Categorial data)
• 연속적인지(Continuous data)
• 차원축소(Dimentionality Reduction)
• Hidden Markov Model 등
Clustering
• Classifier
• 데이터들을 이미 알고 있는 Tag의 집합으로 분류
• Clustering
• 데이터들 간에 어떤 내부 동력으로 군집화 되는가를 찾아내는 방법
• Clustering 의 목적
• 군집 간 분산을 최대화
• 군집 내 분산을 최소화 -4 -3 -2 -1 0 1 2 3 4 5
-2
-1
0
1
2
3
4
-4 -3 -2 -1 0 1 2 3 4 5
-2
-1
0
1
2
3
4
K-means
1. K개의 파라미터를 선택
• K개의 클러스터가 생성
2. 랜덤한 K 위치와 데이터들의 거리를
구한다.
• 모든 데이터들이 K개의 클러스터 중
가까운 클러스터에 할당한다
3. 클러스터의 중심을 재설정한다.
• 클러스터 내 데이터들의 평균점이
클러스터의 중심이 된다.
4. 2~3번의 과정을 반복한다.
K-means vs k-NN
• k-NN
• 하나의 데이터가 들어왔을때 어느 근접한 그룹으로 할당할것인가
• k의 의미 => 몇번째로 가까운 데이터까지 비교해볼 것인가
• K-means
• 전체 데이터를 k개의 클러스터로 분류
• k의 의미 => 분류되는 클러스터 개수 & 해당 클러스터의 중심
K-means Algorithm
• : 클러스터 K centroid 의 위치
• : 이 클러스터 K에 속해있는지 여부 값 (1 or 0)
• EM Algorithm (Expectation & Maximization)
• 클러스터 K의 centroid 위치를 조정하고 각 데이터들의 소속값을 조정하는 작업을 번갈아가면서 진행하는 알고
리즘
• Expectation
• 데이터들을 클러스터 K의 centroid에 소속시키는 과정
• 를 optimization 하는 과정
• Maximization
• centroid의 새로운 위치를 선정하는 과정
• 를 optimization 하는 과정
argminJ =
N
Σ
n=1
K
Σ
k=1
rnk∥xn − μk∥2μk
xnrnk
rnk
μk
Problem of K-means
• 랜덤으로 생성되는 초기 centroid의 위치에 따라 원하지 않은 결과가 나올수 있음
• K-means++
• 하드 클러스터링
• 한개의 개체가 한개의 클러스터에만 속하도록 하는 군집화 방법
• Binomial Distribution
• 소프트 클러스터링
• 한개의 개체가 여러개의 클러스터에 속 할 수 있도록 허용하는 군집화 방법
• Multinomial Distribution
• 가우시안 혼합 모델 (Gaussian Mixture Model)
• 다음 기회에...
Hiarchical Clustering
• 계층적 트리 모형을 이용해 개별
개체들을 순차적, 계층적으로 유사
한 개체 내지 그룹과 통합하여 군
집화를 수행하는 알고리즘
• K-means와 달리 군집수를 사전
에 정의하지 않아도 학습을 수행할
수 있음
• 개체들이 결합되는 순서를 나타내
는 덴드로그램(Dendrogram)을
생성한 후 적절한 수준에서 트리를
자르면 전체 데이터를 몇개의 군집
으로 나눌 수 있음
Hiarchical Clustering
• 모든 개체들간 거리나 유사도를 미리 계산
• 거리가 가까운 개체-개체들끼리 군집으로 묶음
• 군집-개체 혹은 군집-군집간 가까운 거리로 묶음
• 군집간 거리 선택
• 특징
• 사전에 군집수 k를 설정할 필요가 없음
• 계산복잡성은 K-means 보다 무거운편
•
DBSCAN Clustering
• Density-Based Spatial Clustering of Applications with Noise
• K-means와 같이 데이터의 위치 정보를 이용
• 하지만 데이터의 분포(평균과의 거리가 얼마나 떨어져있는지로 군집을 결정)를 통해 군
집을 정하지 않고, 데이터의 밀도(density)를 이용한다.
• 같은 군집내의 데이터들은 밀도가 높게 위치해 있을 것이라는 가정
• 두가지 파라미터 설정 필요
• 주변공간의 정의 : 데이터 벡터로부터 어느정도 거리( ) 까지를 군집으로 볼것인가
• 주변공간의 벡터수 : 주변공간에 몇개의 데이터 벡터(n)가 존재해야 군집으로 볼 것인
가
ε
DBSCAN Clustering
• 이웃벡터 : 한 데이터 벡터로부터 거리 내에 위치한 데이터 개체
• 핵심벡터 : n개 이상의 이웃벡터를 갖는 데이터 벡터
• 외곽벡터 : 핵심 벡터로부터 거리 내에 위치해서 같은 군집으로 분
류되나, 그 자체로는 핵심벡터가 아닌, 즉 군집의 외곽을 형성하는 벡
터
• 군집 : 한 핵심벡터 p에 대해서 접근 가능한 모든 데이터 벡터들의 집
합. 한 군집내의 모든 데이터 벡터들은 서로 연결되어 있다
• 노이즈 : 어떠한 군집에도 속하지 않는 데이터들
ε
DBSCAN Clustering
• 거리 , 벡터 수 n=5 인 경우
• p1은 거리 내 5개의 이웃벡터를 갖기 때문에 핵심벡
터
• p1의 직접 접근 가능한 다른 핵심벡터 p2또한 같은 군
집에 소속
• 푸른색 데이터 벡터들은 이웃벡터의 수가 5개 미만으로
핵심벡터는 아니지만 핵심벡터 p1, p2와 같은 군집의
외곽벡터
• 회색 데이터 벡터들은 이웃벡터의 수가 5개 미만이며
핵심벡터가 이웃에 있지 않으므로, 군집에 포함되지 않
는 노이즈로 분류
ε
ε
Dimensionality Reduction
• 차원의 저주 (Curse of Dimensionality)
• 차원이 증가하면 그것을 표현하기 위한 데이터 양이 기하급수적으로 증가
• 일정 차원을 넘으면 분류기의 성능은 점점 떨어져 0으로 수렴
• 차원 축소 (dimensionality reduction)
• 데이터의 의미를 제대로 표현하는 특징을 추려내는 것
• 특징(feature)이 너무 많기 때문에 학습이 어렵고 더 좋은 특징만 가지고 사용하겠다는
것
• LDA (Linear Discriminant Analysis)
• PCA (Principal Component Analysis)
Linear Discriminant Analysis
• 표본의 두 집단을 가장 잘 분리시키는 선에 투영 시키는 방법
• 가능한 클래스간의 분별 정보를 최대한 유지 시키면서 차원 축소
• 집단간 분산은 크고,
• 집단내 분산은 작게
Principal Component Analysis
• PCA는 데이터의 분포를 가장 잘 표현하는 성분을 찾아주는 것
• e1의 방향과 크기, 그리고 e2의 방향과 크기를 알면 이 데이터 분포
가 어떤 형태인지를 가장 단순하면서도 효과적으로 파악할 수 있다.
• 예) 국어, 영어, 수학, 과학, 미술, 체육 => 어학, 수리, 예체능
• eigenface와 영상인식 (다음시간에...)
•
결론
• 수식없는 머신러닝 세미나 자료는 만들기 불가능.
• 수식을 빼면 깊게 들어갈 수 가 없음
• 이번 세미나들을 통해서 머신러닝/딥러닝의 개념을 먼저 익히고,
프로젝트에 들어갈때는 더 깊은 내용들로.
• 다음엔 다시 딥러닝
• 오늘 다루지 못한 내용들이 다시 나올 것임
• 실제 적용에는 좀 더 깊은 내용이 필요
참고자료
• KOOC (2018)인공지능 및 기계학습 개론 I/II (문일철)
• https://www.edwith.org/machinelearning1_17/joinLectures/9738
• https://www.edwith.org/machinelearning2__17/joinLectures/9782
• http://sanghyukchun.github.io
• http://statgen.iop.kcl.ac.uk/bgim/mle/sslike_3.html
• https://ratsgo.github.io/
• http://www.birc.co.kr/2017/01/11/의사결정나무decision-tree/
• http://kkokkilkon.tistory.com/14
• https://brunch.co.kr/@crescent702/15
• https://m.blog.naver.com/PostView.nhn?
blogId=johyungrak&logNo=220552252387&proxyReferer=https%3A%2F%2Fwww.google.co
m%2F
참고자료
• http://cinema4dr12.tistory.com/1015
• https://ko.wikipedia.org/wiki/서포트_벡터_머신
• http://yamalab.tistory.com/47
• http://needjarvis.tistory.com/140
• http://gentlej90.tistory.com/20
• https://medium.com/qandastudy/mathpresso-머신-러닝-스터디-15-차원-축소-
dimensionality-reduction-76b13460506f
• http://adnoctum.tistory.com/977
• http://t-robotics.blogspot.com/2014/10/pca-principal-component-
analysis.html#.W4yTOi06_OS
• http://darkpgmr.tistory.com/110

More Related Content

What's hot

Learning by association
Learning by associationLearning by association
Learning by association홍배 김
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networksHaesun Park
 
R을 이용한 데이터 분석
R을 이용한 데이터 분석R을 이용한 데이터 분석
R을 이용한 데이터 분석simon park
 
알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기Kwangsik Lee
 
인공신경망
인공신경망인공신경망
인공신경망종열 현
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장Sunggon Song
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)beom kyun choi
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder홍배 김
 
Ai study - 2 layer feed-forward network, Backpropagation
Ai study - 2 layer feed-forward network, BackpropagationAi study - 2 layer feed-forward network, Backpropagation
Ai study - 2 layer feed-forward network, BackpropagationDaeHeeKim31
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator홍배 김
 
Clustering, k means algorithm
Clustering, k means algorithmClustering, k means algorithm
Clustering, k means algorithmJunyoung Park
 
딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기Myeongju Kim
 
머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear ModelJungkyu Lee
 
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5SANG WON PARK
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Networkagdatalab
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝찬웅 주
 

What's hot (20)

Learning by association
Learning by associationLearning by association
Learning by association
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networks
 
R을 이용한 데이터 분석
R을 이용한 데이터 분석R을 이용한 데이터 분석
R을 이용한 데이터 분석
 
Naive ML Overview
Naive ML OverviewNaive ML Overview
Naive ML Overview
 
알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기
 
K-Means Clustering
K-Means ClusteringK-Means Clustering
K-Means Clustering
 
인공신경망
인공신경망인공신경망
인공신경망
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
Ai study - 2 layer feed-forward network, Backpropagation
Ai study - 2 layer feed-forward network, BackpropagationAi study - 2 layer feed-forward network, Backpropagation
Ai study - 2 layer feed-forward network, Backpropagation
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator
 
Clustering, k means algorithm
Clustering, k means algorithmClustering, k means algorithm
Clustering, k means algorithm
 
딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기
 
머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model
 
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Network
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
 

Similar to From maching learning to deep learning episode2

Cop 2주차발표 복사본
Cop 2주차발표   복사본Cop 2주차발표   복사본
Cop 2주차발표 복사본jungyounjung1
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문noerror
 
Crash Course on Graphical models
Crash Course on Graphical modelsCrash Course on Graphical models
Crash Course on Graphical modelsJong Wook Kim
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)MYEONGGYU LEE
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regressionHaesun Park
 
[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pubJaewook. Kang
 
5일차.map reduce 활용
5일차.map reduce 활용5일차.map reduce 활용
5일차.map reduce 활용주영 송
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learningHaesun Park
 
The fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsThe fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsLee Gyeong Hoon
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝Jinwon Lee
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)SANG WON PARK
 
Week12 cluster(1)
Week12 cluster(1)Week12 cluster(1)
Week12 cluster(1)Eun Yu
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networksHyunjinBae3
 
Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2KyeongUkJang
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지Haesun Park
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learingHaesun Park
 
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현 [kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현 Adonis Han
 

Similar to From maching learning to deep learning episode2 (20)

Cop 2주차발표 복사본
Cop 2주차발표   복사본Cop 2주차발표   복사본
Cop 2주차발표 복사본
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문
 
Crash Course on Graphical models
Crash Course on Graphical modelsCrash Course on Graphical models
Crash Course on Graphical models
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)
 
Mahout
MahoutMahout
Mahout
 
Neural turing machine
Neural turing machineNeural turing machine
Neural turing machine
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 
[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub
 
5일차.map reduce 활용
5일차.map reduce 활용5일차.map reduce 활용
5일차.map reduce 활용
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learning
 
The fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsThe fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnets
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
S.M.Lee, Invited Talk on "Machine Learning-based Anomaly Detection"
S.M.Lee, Invited Talk on "Machine Learning-based Anomaly Detection"S.M.Lee, Invited Talk on "Machine Learning-based Anomaly Detection"
S.M.Lee, Invited Talk on "Machine Learning-based Anomaly Detection"
 
Week12 cluster(1)
Week12 cluster(1)Week12 cluster(1)
Week12 cluster(1)
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networks
 
Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learing
 
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현 [kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
[kor ver.]패턴인식을 위한 인공신경망 Caps-net 구현
 

From maching learning to deep learning episode2

  • 1. From Machine Learning To Deep Learning Episode #2 김용대 nukko72@gmail.com
  • 2. 지난번 우리는... • 머신러닝 개요 • 지도 학습 • Linear Regression / Multi-variable Linear Regression • Logistic Classification / Multinomial Logistic Classification • Learning Rate/ Overfitting / Regularization • 비지도학습 • K-means • Deep Learning • Neural Network • CNN • RNN
  • 3. 오늘 우리는...(Class 1) • 복습 Episode #1 • Linear Regression • Logistics Regression • 지난번 안하고 넘어간 기본 개념들 • MLE / Bayesian Theorem/ MAP • Rule Based Machine Learning • Decision Tree • Naive Bayes classifier • KNN • Support Vector Machine
  • 4. 오늘 우리는...(Class 2) • 비지도 학습 • 클러스터링 • K-means • 계층적 클러스터링 • 밀도기반 클러스터링 • 차원 축소 • LDA • PCA
  • 6. 머신러닝 • 데이터를 통하여 기계가 모델을 스 스로 찾아내는 과정 • 데이터에서 모델을 찾아내는 과정이 마치 기계가 데이터를 학습해 모델 을 알아내는 것과 비슷해서 붙은 이 름 • 모델을 통하여 입력값에 대한 예상 되는 출력값을 반환한다. 데이터 머신러닝 모델입력값 출력값
  • 7. Linear Regression 2 3 9 10 30 50 80 90 5 ? y = ax + b 5시간을 공부 했을때 예측되는 점수? • 주어진 점(데이터)들과 가장 가까운 직선을 찾는 다 • 기울기 (a) 와 절편 (b) 100 기울기(a) = W (weight)으로 표기 y는 예측되는 x에 대한 가설 (Hypothesis)의 결과값 y = H(x) = Wx + b
  • 8. Cost 2 3 9 10 30 50 80 5 • 점과 직선사이의 거리가 멀면 나쁜것 • 가중치를 준다 (제곱) • 거리에 제곱한것을 모두 더하고, x 항목의 개수로 나눠서 평균을 구한다. => 분산
  • 9. Liner Regression 데이터 x 랜덤값 W, b Wx + b 1 m m ∑ I=1 (Wx − y)2 Gradient descent W, b 완성된 모델 Wx + b Hypothesis Cost Function
  • 10. Logistics Regression • Binary Classification • 1 (True) or 0 (False) • 악성 파일(1) or 정상 파일(0) • 데이터를 이항 분류할 수 있는 이상적인 그래프를 찾는것
  • 12. New cost function for Logistics
  • 13. Multinomial Logistic Regression • Multi Classification • 0 ~ N 까지 클래스별 분류 • 정상 파일(0), 트로이목마(1), 백도어(2), 하이재커(3), … • 데이터를 클래스별로 분류할 수 있는 이상적인 여러 그래프를 찾는것
  • 15. Softmax • i번째 y값의 중요도를 지수적으로 증가시켜 각 값 사이의 편차를 늘린 다음 정규화 하는 함수 • 지수적으로 증가시켜 각 값의 편차를 확대시켜 큰 값은 상대적으로 더 크게, 작은값은 더 작게 만든 다음 Normalization 시키는 함수 • 전체 합은 1
  • 18. Cross Entropy Cost Function
  • 19. Cross Entropy Cost Function
  • 20. Cross Entropy Cost Function cost(W) = 1 m m ∑ I=1 (XW − Y)2
  • 21. 지난번 안하고 넘어간 기본개념들
  • 22. Probability • 우리는 일반적으로 동전 하나를 던졌을 때 앞 또는 뒤가 나올 확률은 같다고 가정하여 0.5라고 생각한다 • 하지만 이 0.5라는 확률 값은 정확한 값이 아니라 우리가 가정한 값이다. • 때문에 몇 번 의 수행 결과로 동전의 앞면이 나올 확률 P(H)를 정하고자 한다.
  • 23. Probability • 동전은 앞,뒤 50%의 확률로 나온다고 한 가정(Hypothesis)는 • 100번의 동전 던지기를 수행 했을 때, 앞면이 56번 나왔다면 • 어느정도의 오차 (거리)를 갖고 있는가?
  • 24. MLE (Maximum Likelihood Estimation) • Likelihood • 어떤 가설을 전제 하였을때, 사건이 얼마나 나타날 수 있는가에 대한 정도 • L(T|E) : 증거 E가 관측되었을 때 이론 T와 그럴듯한 정도 • 앞의 예에서 가설 𝜃 = p = 0.52 로 한다면? 그리고 가설을 바꿔가면서 측정한다면? • Maximum Likelihood • 관찰값의 확률을 가장 크게 만드는 p = 𝜃 를 선택하는 것 • • • • 파라메터의 갯수가 많고 모델이 복잡한 경우 간단하게 사용할 수 있음 ̂θ = argmaxθP(D|θ) = argmaxθ{θaH (1 − θ)aT } ̂θ = argmaxθln{θaH (1 − θ)aT = argmaxθ{aHlnθ + aTln(1 − θ)} d dθ (aHlnθ + aTln(1 − θ)) = 0 aH θ − aT 1 − θ = 0 θ = aH aT + aH
  • 25. Bayesian Theorem • 어떤 사건 B가 일어났을 때 사건 A가 일어날 확률 • P(B) > 0 일때 사건 B가 일어났을때 사건 A의 조건부 확률 • P(A) : A의 사전확률. 어떠한 사건에 대한 정보가 없을 때의 확률 • P(A|B) : B에 대한 A의 사후확률. B라는 정보가 주어졌을 때의 확률 P(A|B) = P(B|A)P(A) P(B)
  • 26. MAP • MAP • 주어진 관측 결과와 ‘사전지식(사전확률)’을 결합해서 최적의 𝜃를 찾는것 • 베타 분포(Beta distribution)에 의한 P(𝜃)의 계산 P(θ|D) = P(D|θ)P(θ) P(D) Posterior = Likelihood × PriorKnowldge NormalizingConstant
  • 27. MLE & MAP • MLE • 주어진 관측 결과의 발생 가능성을 가장 높게 만들어주는 𝜃를 찾는것 • 매우 직관적. 별다른 가정을 하지 않고 주어진 관측결과를 바탕으로 쉽게 계산 (관측결과가 이항분포를 따를것이라는 가정이 있음) • 관측결과에 의존하기 때문에 관측결과의 정확성에 따라 모수(𝜃) 추정의 성패가 크게 좌우됨 • MAP • 주어진 관측 결과와 ‘사전지식(사전확률)’을 결합해서 최적의 𝜃를 찾는것 • 단순히 관측결과에만 의존하는 것보다 기존의 알고 있는 정보를 반영한다는 점에서 매우 합리적인 방법 • 사전지식에 대한 모델링이 어려움, 사전지식에 대한 모델리에 따라 추론 결과인 사후 확률의 정확도가 크게 좌우됨 • Probably Approximate Correct (PAC) learning
  • 28. Rule Based Machine Learning
  • 29. Rule Based Machine Learning
  • 31. Entropy & Information Gain • Entropy • 주어진 데이터 집합의 혼잡도 • 엔트로피는 0과 1사이의 값, 혼잡도가 높은 상태가 1. 하나의 클래스로 구성된 상태 0. • 엔트로피가 높은 상태에서 낮은 상태가 되도록 나무 모양을 생성해 나감 • Conditional Entropy • 특정 feature (주어진 X)에 대한 정보가 있을 경우 Y의 Entropy를 측정 • Information Gain • 어떤 속성을 선택함으로 인해서 데이터를 더 잘 구분하게 되는 것을 의미함 • 상위노드의 Entropy에서 하위노드의 Entropy를 뺀것 IG(Y, Ai) = H(Y) − H(Y|Ai) H(Y) = − ΣxP(X = x)logbP(X = x) H(Y) = − 10 16 log2( 10 16 ) − 6 16 log2( 6 16 )
  • 32. Decision Tree • 세분화 • 전체 데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할해 그룹별 특성을 발견하는 경우 또는 각 고객이 어떤 집단에 속하는지를 파악하 고자 하는 경우 • ex) 시장세분화, 고객세분화 • 분류 • 관측개체를 여러 예측변수들에 근거해 목표변수의 범주를 몇개의 등급으로 분류하고자 하는 경우 • ex) 고객을 신용도에 따라 우량/불량으로 분류 • 예측 • 자료에 규칙을 찾아내고 이를 이용해 미래의 사건을 예측하고자 하는 경우 • ex) 고객속성에 따라서 대출한도액을 예측 • 차원축소 및 변수선택 • 매우 많은 수의 예측변수중에서 목표변수에 큰 영향을 미치는 변수들을 골라내고자 하는 경우 • CART, ID3, CHAID, C4.5, C5.0 알고리즘이 활용도가 높은편
  • 34. • Naive : 각각의 feature가 독립적(conditionally independent)임을 가정 Naive Bayes Classifier
  • 35. Naive Bayes Classifier • Bag of words • 안전한 문자 word list <광고, 베팅, 수익률, 택배, 청접장> • Vector <0, 1, 1, 0, 0> • 분류 • 스펨 / 정상 •
  • 36. KNN (k-Nearest Neighbor) • 분류에 사용하는 알고리즘 • 새로운 데이터가 들어왔을 때 기존 데이터의 그룹 중 어떤 그룹에 속하는지를 분류 • k-NN은 새로들어온 ‘★은 ■ 그룹의 데이터와 가장 가까우니 ★은 ■ 그룹이다’ • 여기서 k의 역할은 몇 번째로 가까운 데이터까지 살펴볼 것인가를 정하는 숫자
  • 37. KNN (k-Nearest Neighbor) • 기존 데이터 A~F, 신규 N • k = 1 인 경우 • N = C 와 같은 그룹 ‘●’ • k = 3 인 경우 • C, D, E 그룹들과 비교 • 이때 그룹이 갈리면 다수결의 원칙에 따른다 • 여기서는 1 : 2가 되어 N은 ▲로 분류된다 • 이처럼 같은 데이터임에도 k가 얼마냐에 따라 N이 ●로 분류되기도 하고 ▲로 분류되기도 한다.
  • 38. Euclidean Distance • 유클리드 거리 = 두 점사이의 거리 • k-NN은 거리 측정 방법에 따라 결과가 크게 달라지는 알고리즘 • k-NN에서 가깝다는 개념은 유클리드 거리(Euclidean Distance)로 정의하는데, 유클리드 거리를 계산할 때는 단위가 매우 중요 • 예) Y축의 단위가 달라($)로 가정 • A-N 간 거리는 B-N간 거리는 B가 더 가까움. • Y축의 단위가 원(KRW)로 가정 • A-N 간 거리는 B-N간 거리는 A가 더 가까움. • 변수별 단위에 따라 거리가 달리지고, 가까운 순서도 달라짐 • 반드시 k-NN 알고리즘 적용 시 데이터 표준화를 해주어야함 (x1 − y1)2 + . . . + (xn − yn)2 = Σn i=1(xi − yi)2 10 8 32 + 10002 22 + 20002
  • 39. Manhattan Distance & Minkowski Distance • 맨하튼 거리 (Manhattan Distance) • A에서 B로 이동할 때 각 좌표축 방향으로 만 이동할 경우에 계산되는 거리 • 민스코스키 거리 (Minkowski Distance) • Euclidean Distance와 Manhattan Distance를 한번에 표현하는 공식 • Manhattan Distance가 L1 Distance, Euclidean Distance가 L2 Distance • m = 1 이면 manhattan, 2면 Euclidean dManhattan(X,Y) = n Σ i=0 |xi − yi | Lm = m n Σ i=1 (|xi − yi |)m
  • 40. Other distance methods • 코사인 유사도 (Cosine similarity) • 두개의 실수값을 갖는 속성 벡터 x, y간에 사용 • 값이 1이면 완전 동일, 0이면 상호 독립, -1이면 완전 반대 • 자커드 거리 (Jaccard Distance) • 객체 집합간의 거리를 표현, 두 집합이 얼마나 유사한지 표시 • 마할라노비스 거리 (Mahalanobis Distance) • 두개의 실수 벡터 간에 사용 • 유클리드 거리에 비해 상관관계를 고려할 수 있고 단위와 무관한 거리 • 해밍 거리 (Hamming Distance) • 두개의 문자열, 같은 길이의 DNA 서열간의 거리를 구하는데 사용 • 문자의 위치를 옮겨가며 그 위치에 있는 문자들이 서로 같은지 보고 다르면 1씩 늘려간다.
  • 41. Support Vector Machine • 패턴인식, 자료분석을 위한 지도학습 모델로 분류와 회귀분석을 위해 사용 • Decision Boundary with Margin • 빨간 두점을 잇는 직선( )과 평행하게 이동하면서 파란점을 만나는 직선( )을 찾는다 • 두 직선의 가운데 직선 = Decision boundary • Margin = Decision boundary에서 까지의 거리 • Support Vector : Decision boundary를 결정하는데 필요한 3개의 점 • w x + b = 0 • Positive case • w x + b > 0 • Negative case • w x + b < 0 • confidence level (신뢰수준) • ⃗A ⃗B ⃗A (wxj + b)yj
  • 43. Maximizing the Margin j => Learning Instance = Training set의 input features
  • 44. Support Vector Machine • 장점 • 분류문제나 예측문제 동시에 사용할 수 있다 • 신경망 기법에 비해서 과적합 정도가 덜하다 • 사용하기 쉽다. • Incremental learning : 새로운 학습 데이터가 추가 되었을 때 기존의 학습 데이터를 포함해서 재 학습 하는것이 아닌, 업데이트만 하면 됨 • 단점 • Kernel과 모델 파라미터를 조절하기 위한 테스트를 여러 번 해봐야 최적화된 모형을 만들 수 있 다. • 모형 구축 시간이 오래 걸린다.
  • 45. More SVM • Support Vector Machine은 딥러닝과 경쟁하며 발전하고 있는 분류 및 회귀 분석 머신러닝 알고리즘 • 비선형 분류를 위한 추가 개념 • Soft Margin • Error Handling • Kernel trick • Lagrange Multiplier Method • 등등은 다음 기회에...
  • 47. 비지도학습 • 라벨링이 되어있지 않은 데이터로부터 데이터들의 속성을 찾는것 • Clustering • 특성에 따라 데이터의 패턴이나 규칙을 통해 여러 집단으로 나누는것 • 데이터가 분리되어있는지 (Categorial data) • 연속적인지(Continuous data) • 차원축소(Dimentionality Reduction) • Hidden Markov Model 등
  • 48. Clustering • Classifier • 데이터들을 이미 알고 있는 Tag의 집합으로 분류 • Clustering • 데이터들 간에 어떤 내부 동력으로 군집화 되는가를 찾아내는 방법 • Clustering 의 목적 • 군집 간 분산을 최대화 • 군집 내 분산을 최소화 -4 -3 -2 -1 0 1 2 3 4 5 -2 -1 0 1 2 3 4 -4 -3 -2 -1 0 1 2 3 4 5 -2 -1 0 1 2 3 4
  • 49. K-means 1. K개의 파라미터를 선택 • K개의 클러스터가 생성 2. 랜덤한 K 위치와 데이터들의 거리를 구한다. • 모든 데이터들이 K개의 클러스터 중 가까운 클러스터에 할당한다 3. 클러스터의 중심을 재설정한다. • 클러스터 내 데이터들의 평균점이 클러스터의 중심이 된다. 4. 2~3번의 과정을 반복한다.
  • 50. K-means vs k-NN • k-NN • 하나의 데이터가 들어왔을때 어느 근접한 그룹으로 할당할것인가 • k의 의미 => 몇번째로 가까운 데이터까지 비교해볼 것인가 • K-means • 전체 데이터를 k개의 클러스터로 분류 • k의 의미 => 분류되는 클러스터 개수 & 해당 클러스터의 중심
  • 51. K-means Algorithm • : 클러스터 K centroid 의 위치 • : 이 클러스터 K에 속해있는지 여부 값 (1 or 0) • EM Algorithm (Expectation & Maximization) • 클러스터 K의 centroid 위치를 조정하고 각 데이터들의 소속값을 조정하는 작업을 번갈아가면서 진행하는 알고 리즘 • Expectation • 데이터들을 클러스터 K의 centroid에 소속시키는 과정 • 를 optimization 하는 과정 • Maximization • centroid의 새로운 위치를 선정하는 과정 • 를 optimization 하는 과정 argminJ = N Σ n=1 K Σ k=1 rnk∥xn − μk∥2μk xnrnk rnk μk
  • 52. Problem of K-means • 랜덤으로 생성되는 초기 centroid의 위치에 따라 원하지 않은 결과가 나올수 있음 • K-means++ • 하드 클러스터링 • 한개의 개체가 한개의 클러스터에만 속하도록 하는 군집화 방법 • Binomial Distribution • 소프트 클러스터링 • 한개의 개체가 여러개의 클러스터에 속 할 수 있도록 허용하는 군집화 방법 • Multinomial Distribution • 가우시안 혼합 모델 (Gaussian Mixture Model) • 다음 기회에...
  • 53. Hiarchical Clustering • 계층적 트리 모형을 이용해 개별 개체들을 순차적, 계층적으로 유사 한 개체 내지 그룹과 통합하여 군 집화를 수행하는 알고리즘 • K-means와 달리 군집수를 사전 에 정의하지 않아도 학습을 수행할 수 있음 • 개체들이 결합되는 순서를 나타내 는 덴드로그램(Dendrogram)을 생성한 후 적절한 수준에서 트리를 자르면 전체 데이터를 몇개의 군집 으로 나눌 수 있음
  • 54. Hiarchical Clustering • 모든 개체들간 거리나 유사도를 미리 계산 • 거리가 가까운 개체-개체들끼리 군집으로 묶음 • 군집-개체 혹은 군집-군집간 가까운 거리로 묶음 • 군집간 거리 선택 • 특징 • 사전에 군집수 k를 설정할 필요가 없음 • 계산복잡성은 K-means 보다 무거운편 •
  • 55. DBSCAN Clustering • Density-Based Spatial Clustering of Applications with Noise • K-means와 같이 데이터의 위치 정보를 이용 • 하지만 데이터의 분포(평균과의 거리가 얼마나 떨어져있는지로 군집을 결정)를 통해 군 집을 정하지 않고, 데이터의 밀도(density)를 이용한다. • 같은 군집내의 데이터들은 밀도가 높게 위치해 있을 것이라는 가정 • 두가지 파라미터 설정 필요 • 주변공간의 정의 : 데이터 벡터로부터 어느정도 거리( ) 까지를 군집으로 볼것인가 • 주변공간의 벡터수 : 주변공간에 몇개의 데이터 벡터(n)가 존재해야 군집으로 볼 것인 가 ε
  • 56. DBSCAN Clustering • 이웃벡터 : 한 데이터 벡터로부터 거리 내에 위치한 데이터 개체 • 핵심벡터 : n개 이상의 이웃벡터를 갖는 데이터 벡터 • 외곽벡터 : 핵심 벡터로부터 거리 내에 위치해서 같은 군집으로 분 류되나, 그 자체로는 핵심벡터가 아닌, 즉 군집의 외곽을 형성하는 벡 터 • 군집 : 한 핵심벡터 p에 대해서 접근 가능한 모든 데이터 벡터들의 집 합. 한 군집내의 모든 데이터 벡터들은 서로 연결되어 있다 • 노이즈 : 어떠한 군집에도 속하지 않는 데이터들 ε
  • 57. DBSCAN Clustering • 거리 , 벡터 수 n=5 인 경우 • p1은 거리 내 5개의 이웃벡터를 갖기 때문에 핵심벡 터 • p1의 직접 접근 가능한 다른 핵심벡터 p2또한 같은 군 집에 소속 • 푸른색 데이터 벡터들은 이웃벡터의 수가 5개 미만으로 핵심벡터는 아니지만 핵심벡터 p1, p2와 같은 군집의 외곽벡터 • 회색 데이터 벡터들은 이웃벡터의 수가 5개 미만이며 핵심벡터가 이웃에 있지 않으므로, 군집에 포함되지 않 는 노이즈로 분류 ε ε
  • 58. Dimensionality Reduction • 차원의 저주 (Curse of Dimensionality) • 차원이 증가하면 그것을 표현하기 위한 데이터 양이 기하급수적으로 증가 • 일정 차원을 넘으면 분류기의 성능은 점점 떨어져 0으로 수렴 • 차원 축소 (dimensionality reduction) • 데이터의 의미를 제대로 표현하는 특징을 추려내는 것 • 특징(feature)이 너무 많기 때문에 학습이 어렵고 더 좋은 특징만 가지고 사용하겠다는 것 • LDA (Linear Discriminant Analysis) • PCA (Principal Component Analysis)
  • 59. Linear Discriminant Analysis • 표본의 두 집단을 가장 잘 분리시키는 선에 투영 시키는 방법 • 가능한 클래스간의 분별 정보를 최대한 유지 시키면서 차원 축소 • 집단간 분산은 크고, • 집단내 분산은 작게
  • 60. Principal Component Analysis • PCA는 데이터의 분포를 가장 잘 표현하는 성분을 찾아주는 것 • e1의 방향과 크기, 그리고 e2의 방향과 크기를 알면 이 데이터 분포 가 어떤 형태인지를 가장 단순하면서도 효과적으로 파악할 수 있다. • 예) 국어, 영어, 수학, 과학, 미술, 체육 => 어학, 수리, 예체능 • eigenface와 영상인식 (다음시간에...) •
  • 61. 결론 • 수식없는 머신러닝 세미나 자료는 만들기 불가능. • 수식을 빼면 깊게 들어갈 수 가 없음 • 이번 세미나들을 통해서 머신러닝/딥러닝의 개념을 먼저 익히고, 프로젝트에 들어갈때는 더 깊은 내용들로. • 다음엔 다시 딥러닝 • 오늘 다루지 못한 내용들이 다시 나올 것임 • 실제 적용에는 좀 더 깊은 내용이 필요
  • 62. 참고자료 • KOOC (2018)인공지능 및 기계학습 개론 I/II (문일철) • https://www.edwith.org/machinelearning1_17/joinLectures/9738 • https://www.edwith.org/machinelearning2__17/joinLectures/9782 • http://sanghyukchun.github.io • http://statgen.iop.kcl.ac.uk/bgim/mle/sslike_3.html • https://ratsgo.github.io/ • http://www.birc.co.kr/2017/01/11/의사결정나무decision-tree/ • http://kkokkilkon.tistory.com/14 • https://brunch.co.kr/@crescent702/15 • https://m.blog.naver.com/PostView.nhn? blogId=johyungrak&logNo=220552252387&proxyReferer=https%3A%2F%2Fwww.google.co m%2F
  • 63. 참고자료 • http://cinema4dr12.tistory.com/1015 • https://ko.wikipedia.org/wiki/서포트_벡터_머신 • http://yamalab.tistory.com/47 • http://needjarvis.tistory.com/140 • http://gentlej90.tistory.com/20 • https://medium.com/qandastudy/mathpresso-머신-러닝-스터디-15-차원-축소- dimensionality-reduction-76b13460506f • http://adnoctum.tistory.com/977 • http://t-robotics.blogspot.com/2014/10/pca-principal-component- analysis.html#.W4yTOi06_OS • http://darkpgmr.tistory.com/110