군집화
k-means 알고리즘 작동 그림
K-Means를 이용한 붓꽃(Iris) 데이터 셋 Clustering
from sklearn.preprocessing import scale
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
%matplotlib inline
iris = load_iris()
# 보다 편리한 데이터 Handling을 위해 DataFrame으로 변환
irisDF = pd.DataFrame...
PCA 저격용 선형대수 지식
선형변환 (Linear Transform)
Feature Vector를 하나의 공간에서 다른 공간으로 투영하는 것
분산
한 변수의 데이터 변동
공분산
두 변수가 함께 변경되는 정도
$cov(X, Y) > 0$ 면 X가 증가할 때 Y도 증가함
공분산 행렬
여러 변수와 관련된 공분산을 포함하는 정방 행렬(Square Matrix)이며 대칭 행렬(Symmetric Matrix)
대칭행렬
$A^T = A$
대칭행렬은 고유값 분해(Eigen Decomposition)와 관련한 매우 좋은 특성을 가짐
...
Numpy 유용한 함수
np.unique
어떤 값들이 데이터에 들어있는지 알 수 있음. 추가적으로 각 데이터의 갯수 또한 return_counts 인자로 알 수 있음
unique, counts = np.unique(y, return_counts = True)
print(unique, counts)
np.where
다음의 2가지로 활용 가능하다.
Condition 만족하는 Index 반환
1차원일 경우
import numpy as np
a = np.arange(5, 15) # array([ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
...
기울기 소실
위 그림처럼 3개의 sigmoid layer를 가지고 있는 모델이 있다고 가정하자
위 그림과 같이 오차역전파법을 통해 ${\partial y \over \partial w_3}, {\partial y \over \partial w_2}, {\partial y \over \partial w_1}$을 각각 구할 수 있으며 해당 값을 그래프로 표현하면 아래와 같다
기울기 값이 점점 줄어드는것을 확인할 수 있다.
기울기 값이 줄어든다는 것은 가중치 업데이트를 할 때 줄수있는 변화량이 적어진다는 것이고, 변화량이 점점 적어질수록 학습이 제대로 이루어지기 힘들다
123 post articles, 25 pages.