diff --git "a/week5/3\355\214\200_\354\204\234\355\230\204\353\271\210.md" "b/week5/3\355\214\200_\354\204\234\355\230\204\353\271\210.md" new file mode 100644 index 0000000..5e529d9 --- /dev/null +++ "b/week5/3\355\214\200_\354\204\234\355\230\204\353\271\210.md" @@ -0,0 +1,33 @@ +# Ch6 비지도 학습 스터디 + +###6-1. 군집 알고리즘 +* 비지도 학습 : 타깃을 모를 때 사용하는 머신러닝 알고리즘 + + 캐글에서 제공하는, 사과, 바나나, 파인애플을 담고 있는 흑백사진(100*100 크기, 300개)을 사용한다. +> - reshpe()를 이용, 2차원 배열을 1차원 배열로 만든다. +> - 픽셀의 평균을 구하고, 이를 바탕으로 히스토그램을 그려본다. +> - 전체 샘플에 대한 각 픽셀의 평균을 구하고, 이를 바탕으로 막대그래프를 그려본다. +> - 이렇게 구한 평균을 바탕으로 사과, 바나나, 파인애플의 평균과 각각 오차가 적은 것들끼리 묶는다. 하지만 실제 비지도 학습에서는 타깃값을 모르기 때문에 샘플의 평균값을 미리 구할 수 없다. +> - 군집 : 비슷한 샘플끼리 그룹으로 모으는 작업, 클러스터 : 군집 알고리즘에서 만든 그룹 + +###6-2. K-평균 +* K-평균 알고리즘 +> - 무작위로 K개의 클러스터 중심(평균값)을 정하고, 각 샘플에서 가장 가까운 중심을 찾아 해당 클러스터의 샘플로 만든다. +> - 클러스터에 속한 샘플의 평균값으로 중심을 변경하는 행위를 중심에 변화가 없을 때까지 반복한다. +> - sklearn.cluster모듈의 KMeans 클래스에 구현되어 있다. + +* 최적의 K찾기 +> - 엘보우 : 클러스터 중심과 샘플 사이의 거리의 제곱 합인 이너셔(샘플이 얼마나 가까이 모여있는지)의 그래프를 그렸을 때 꺾일 때의 K값을 찾는 방법이다. + +###6-3. 주성분 분석 +* 차원 : 데이터가 가지고 있는 특성. +* 차원축소 : 차원을 줄여 저장공간을 절약하는 방법 +* 주성분 분석(PCA) : 대표적 차원 축소 알고리즘 +> - 데이터에 있는 분산이 큰 방향을 찾는 것 +> - 주성분 : 분산이 큰 방향을 벡터로 나타낸 것 +> - 첫 번째 주성분을 찾은 이후, 분산이 가장 큰 다음 방향이 두 번째 주성분이 된다. 주성분은 일반적으로 원본 특성의 개수만큼 찾을 수 있다. + +* 원본 데이터 재구성 +> - 원본 데이터를 주성분에 투영, 특성의 개수를 줄일 수 있으며, 주성분을 이용하여 다시 특성을 거의 원본과 근접하게 복구할 수 있다. +> - 설명된 분산 : 주성분이 원본 데이터의 분산을 얼마나 잘 나타내는지 기록한 값 +> - 사용하여 축소시킨 특성을 사용, 로지스틱 회귀를 진행해도 높은 정확도를 달성했음을 확인할 수 있다.