https://www.coursera.org/learn/machine-learning/lecture/X8JoQ/reconstruction-from-compressed-representationhttps://www.coursera.org/learn/machine-learning/lecture/czmip/unsupervised-learning-introduction

Unsupervised Learning: Introduction

image

unsupervised learning은 labeled된 데이터가 없으므로 그냥 x 값만 있다. 


https://www.coursera.org/learn/machine-learning/lecture/93VPG/k-means-algorithm

K-Means Algorithm

image
image

k mean algorithm에서 k는 총그룹 갯수이다. 뮤 는 centroid를 말한다. x 에 가장 가가운 centroid index를 c라고 한다. 즉 x i 는 i 번째 데이터를 말하며 이에 가장 가까운 centroid index를 c i 라고 한다. 위 알고리즘의 과정을 설명하면 우선 m개의 data set에서 요소 하나씩 가져온다 이는 x i 이며 이 요소에 가장 가까운 cluster centroid index를 c i 에 저장한다. 그다음 단계는 총 갯수 k 인  mu 를 처음부터 순환하며 본인의 index와 같은 x 들의 평균값을 구하고 이를 새로운 mu 값으로 갱신한다. 즉 cluster centroid 위치를 갱신하는 것이다.


https://www.coursera.org/learn/machine-learning/lecture/G6QWt/optimization-objective

K-Means Optimization Objective

image
image


https://www.coursera.org/learn/machine-learning/lecture/drcBh/random-initialization

K-Means Random Initialization

image

k means 알고리즘을 사용하는데에는 최초 시작 centroids를 지정해 주어야 하는데 training set에서 무작위로 k 숫자 만큼 선택하는 것을 추천한다.

image


https://www.coursera.org/learn/machine-learning/lecture/Ks0E9/choosing-the-number-of-clusters

K-Means Choosing the Number of Clusters

사실 cluster ( 그룹 )의 숫자는 개발자가 지정해 주어야 한다. 자동으로 지정할수 있는 방법은 없다.

image

cluster의 숫자에 따른 cost 값을 볼때 왼쪽 그래프와 같이 급격한 변화가 있다면 그 지점의 값만큼의 cluster 를 만든다. 오른쪽과 그래프와 같이 특별한 변화가 없는경우 개발자가 적당히 선택해야 한다. 


https://www.coursera.org/learn/machine-learning/lecture/0EJ6A/motivation-i-data-compression

Motivation I: Data Compression

image

2d dimensions의 data를 1d 바꾸어서 단순화하는 작업이다. 녹색선을 z1이라고 보고 이에 대응하는 각 데이터를 이용한다.

image

3차원의 데이터를 2차원에 project해서 새로운 데이터를 만들고 이를 이용한다. 3차원의 데이터를 z1, z2 벡터로 이루어진 평면에 project해서 얻은 데이터를 이용한다는 의미이다.


https://www.coursera.org/learn/machine-learning/lecture/t6pYD/motivation-ii-visualization

Motivation II: Visualization

image

예를 들어 위와 같은 데이터가 있다고 했을 때 이를 한번에 알아 보기가 힘들가 그래서 여러차원의 데이터를 dimensionality reduction작업을 통해 2차원, 3차원의 데이터로 바꾸고 이를 시각화 하는 것을 Visualization 한다고 한다.

image
image

2차원으로 줄여서 시각화 한 예를 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/GBFTt/principal-component-analysis-problem-formulation

Principal Component Analysis Problem Formulation

image

pca 는 어떤 형태가 되는 지 보여준다. 위의경우는 2d를 1d로 바꿔주는 과정이다.

image
image

위의 그림은 linear regression과 pca와의 차이를 보여주고 있다.


https://www.coursera.org/learn/machine-learning/lecture/ZYIPa/principal-component-analysis-algorithm

Principal Component Analysis Algorithm

image

pca 작업을 하기 전에 사전작업이 필요하다. 일단 mean normalization 작업을 통해서 각 데이터의 위치를 조정해서 전체 평균점이 0이 되게 한다. 위의 그림에서 첫번째 [ 안의 내용이 이에 해당한다.두번째 [ 의 작업은 feature scaling 작업에 대한 설명이다. 

image

위의 그림에서  u 는 벡터이고 z i 는 각각 새로 만들어진 축상의 값이다. 각각 2차원에서 1차원으로 3차원에서 2차원으로 차원이 낮아( dimension reduction ) 지는 것을 알수 있다.

image

pca 알고리즘은 두단계로 이루어져 있다. 1. covariance matrix를 구한다. x 한행과 x 한행의 transepose의 곱들을 다 더해서 행의 총갯수 m으로 나눈다. 

2. 1번에서 구해진 값을 sigma 변수에 넣고 이를 svd( singular value decomposition ) 또는 eig 함수에 넣어서 eigenvectors값을 구한다. 

위 그림에서 u1, u2 등등은 차원을 낮추면서 새로 생기게 되는 vector들이다. 위위그림에서 u1을 확인해볼것

image
image


https://www.coursera.org/learn/machine-learning/lecture/X8JoQ/reconstruction-from-compressed-representation

Reconstruction from Compressed Representation

image

왼쪽그림은 dimension reduction은 보여주고 오른쪽 그림은 reconstruction을 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/S1bq1/choosing-the-number-of-principal-components

Choosing the Number of Principal Components

image

principal components의 숫자를 정한다는 이야기는 몇차원의 맞출것인가 하는 말과 같다.

우선 이를 결정하는 데 중요한 요소는 차원을 줄임에도 불구하고 데이터가 본래 가지고 있는 분별력을 유지해야 한다는 점이다. 즉 전체 분별정도 (전체 분산)과 projection error squares의 총합의 관계을 확인하면 되는데 여기서 한단계 더 나아가 평균값을 비교한다. 위의 그림에서 보듯이 m으로 나누어준다. 위의 예시를 보면 99% 분산 정도가 유지 되었다. 이렇게 볼수 있다. 보통 90% 이상이 유지 되는 것을 추천한다.

분산개념 이해를 위한 참고 자료) https://needjarvis.tistory.com/43

image

왼쪽의 방법을 통해 k = 1부터 원하는 값이 나올때까지 k값을 늘려가며 확인할수도 있다. 

또는 좀더 쉽게 오른쪽 처럼 svd 함수의 결과로 나오는 S matrix를 이용할수 도 있다.

S matrix 는 대각선만 값이 있고 나머지는 다 0을 요소로 갖는 특성을 가진다. 위 그림과 같이 s k까지 요소를 더한 값을 전체 s 요소들을 더한 값으로 나누고 결과값이 0.99 ( 또는 원하는 수치 ) 이상이 되는지 확인한다.

image


https://www.coursera.org/learn/machine-learning/lecture/RBqQl/advice-for-applying-pca

Advice for Applying PCA

overfitting을 보완하기 위해 pca를 쓰는 것은 좋지 못하다는 이야기이다. 그대신 regularization을 사용하기를 추천한다.

pca를 통해 약간 변화된 데이터를 이용하기 보다 본래 데이터를 이용해 우선 작업 시도하는 것을 추천한다.

https://www.coursera.org/learn/machine-learning/lecture/X8JoQ/reconstruction-from-compressed-representationhttps://www.coursera.org/learn/machine-learning/lecture/czmip/unsupervised-learning-introduction

Unsupervised Learning: Introduction

image

unsupervised learning은 labeled된 데이터가 없으므로 그냥 x 값만 있다. 


https://www.coursera.org/learn/machine-learning/lecture/93VPG/k-means-algorithm

K-Means Algorithm

image
image

k mean algorithm에서 k는 총그룹 갯수이다. 뮤 는 centroid를 말한다. x 에 가장 가가운 centroid index를 c라고 한다. 즉 x i 는 i 번째 데이터를 말하며 이에 가장 가까운 centroid index를 c i 라고 한다. 위 알고리즘의 과정을 설명하면 우선 m개의 data set에서 요소 하나씩 가져온다 이는 x i 이며 이 요소에 가장 가까운 cluster centroid index를 c i 에 저장한다. 그다음 단계는 총 갯수 k 인  mu 를 처음부터 순환하며 본인의 index와 같은 x 들의 평균값을 구하고 이를 새로운 mu 값으로 갱신한다. 즉 cluster centroid 위치를 갱신하는 것이다.


https://www.coursera.org/learn/machine-learning/lecture/G6QWt/optimization-objective

K-Means Optimization Objective

image
image


https://www.coursera.org/learn/machine-learning/lecture/drcBh/random-initialization

K-Means Random Initialization

image

k means 알고리즘을 사용하는데에는 최초 시작 centroids를 지정해 주어야 하는데 training set에서 무작위로 k 숫자 만큼 선택하는 것을 추천한다.

image


https://www.coursera.org/learn/machine-learning/lecture/Ks0E9/choosing-the-number-of-clusters

K-Means Choosing the Number of Clusters

사실 cluster ( 그룹 )의 숫자는 개발자가 지정해 주어야 한다. 자동으로 지정할수 있는 방법은 없다.

image

cluster의 숫자에 따른 cost 값을 볼때 왼쪽 그래프와 같이 급격한 변화가 있다면 그 지점의 값만큼의 cluster 를 만든다. 오른쪽과 그래프와 같이 특별한 변화가 없는경우 개발자가 적당히 선택해야 한다. 


https://www.coursera.org/learn/machine-learning/lecture/0EJ6A/motivation-i-data-compression

Motivation I: Data Compression

image

2d dimensions의 data를 1d 바꾸어서 단순화하는 작업이다. 녹색선을 z1이라고 보고 이에 대응하는 각 데이터를 이용한다.

image

3차원의 데이터를 2차원에 project해서 새로운 데이터를 만들고 이를 이용한다. 3차원의 데이터를 z1, z2 벡터로 이루어진 평면에 project해서 얻은 데이터를 이용한다는 의미이다.


https://www.coursera.org/learn/machine-learning/lecture/t6pYD/motivation-ii-visualization

Motivation II: Visualization

image

예를 들어 위와 같은 데이터가 있다고 했을 때 이를 한번에 알아 보기가 힘들가 그래서 여러차원의 데이터를 dimensionality reduction작업을 통해 2차원, 3차원의 데이터로 바꾸고 이를 시각화 하는 것을 Visualization 한다고 한다.

image
image

2차원으로 줄여서 시각화 한 예를 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/GBFTt/principal-component-analysis-problem-formulation

Principal Component Analysis Problem Formulation

image

pca 는 어떤 형태가 되는 지 보여준다. 위의경우는 2d를 1d로 바꿔주는 과정이다.

image
image

위의 그림은 linear regression과 pca와의 차이를 보여주고 있다.


https://www.coursera.org/learn/machine-learning/lecture/ZYIPa/principal-component-analysis-algorithm

Principal Component Analysis Algorithm

image

pca 작업을 하기 전에 사전작업이 필요하다. 일단 mean normalization 작업을 통해서 각 데이터의 위치를 조정해서 전체 평균점이 0이 되게 한다. 위의 그림에서 첫번째 [ 안의 내용이 이에 해당한다.두번째 [ 의 작업은 feature scaling 작업에 대한 설명이다. 

image

위의 그림에서  u 는 벡터이고 z i 는 각각 새로 만들어진 축상의 값이다. 각각 2차원에서 1차원으로 3차원에서 2차원으로 차원이 낮아( dimension reduction ) 지는 것을 알수 있다.

image

pca 알고리즘은 두단계로 이루어져 있다. 1. covariance matrix를 구한다. x 한행과 x 한행의 transepose의 곱들을 다 더해서 행의 총갯수 m으로 나눈다. 

2. 1번에서 구해진 값을 sigma 변수에 넣고 이를 svd( singular value decomposition ) 또는 eig 함수에 넣어서 eigenvectors값을 구한다. 

위 그림에서 u1, u2 등등은 차원을 낮추면서 새로 생기게 되는 vector들이다. 위위그림에서 u1을 확인해볼것

image
image


https://www.coursera.org/learn/machine-learning/lecture/X8JoQ/reconstruction-from-compressed-representation

Reconstruction from Compressed Representation

image

왼쪽그림은 dimension reduction은 보여주고 오른쪽 그림은 reconstruction을 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/S1bq1/choosing-the-number-of-principal-components

Choosing the Number of Principal Components

image

principal components의 숫자를 정한다는 이야기는 몇차원의 맞출것인가 하는 말과 같다.

우선 이를 결정하는 데 중요한 요소는 차원을 줄임에도 불구하고 데이터가 본래 가지고 있는 분별력을 유지해야 한다는 점이다. 즉 전체 분별정도 (전체 분산)과 projection error squares의 총합의 관계을 확인하면 되는데 여기서 한단계 더 나아가 평균값을 비교한다. 위의 그림에서 보듯이 m으로 나누어준다. 위의 예시를 보면 99% 분산 정도가 유지 되었다. 이렇게 볼수 있다. 보통 90% 이상이 유지 되는 것을 추천한다.

분산개념 이해를 위한 참고 자료) https://needjarvis.tistory.com/43

image

왼쪽의 방법을 통해 k = 1부터 원하는 값이 나올때까지 k값을 늘려가며 확인할수도 있다. 

또는 좀더 쉽게 오른쪽 처럼 svd 함수의 결과로 나오는 S matrix를 이용할수 도 있다.

S matrix 는 대각선만 값이 있고 나머지는 다 0을 요소로 갖는 특성을 가진다. 위 그림과 같이 s k까지 요소를 더한 값을 전체 s 요소들을 더한 값으로 나누고 결과값이 0.99 ( 또는 원하는 수치 ) 이상이 되는지 확인한다.

image


https://www.coursera.org/learn/machine-learning/lecture/RBqQl/advice-for-applying-pca

Advice for Applying PCA

overfitting을 보완하기 위해 pca를 쓰는 것은 좋지 못하다는 이야기이다. 그대신 regularization을 사용하기를 추천한다.

pca를 통해 약간 변화된 데이터를 이용하기 보다 본래 데이터를 이용해 우선 작업 시도하는 것을 추천한다.