비지도 학습(Unsupervised Learning)
: 타깃이 없을 때 사용하는 머신러닝 알고리즘
사진을 분석 할 때는 높은 값으로 설정(밝은 색) why? 픽셀값이 높으면 출력값도 커지기 때문
plt.imshow(fruits[0], cmap ='gray')
plt.show()
색을 반전하고 싶다면?
plt.imshow(fruits[0], cmap ='gray_r')
plt.show()
○ 군집(clustering) 분석 : 비슷한 샘플끼리 하나의 그룹으로 모으는 대표적인 비지도 학습
● 평균 값 찾기 : k-평균(= 클러스터 중심 | 센트로이드)
- 작동 방식
1. 무작위로 k개의 클러스터 중심 선정
* 클러스터 : 군집 알고리즘으로 모은 샘플 그룹
2. 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정
3. 클러스터에 속한 샘플의 평균값으로 클러스터 중심을 변경
4. 클러스터 중심에 변화가 없을 때까지 2번으로 돌아가 반복
- 최적의 k 찾기 : k-평균 알고리즘의 단점 중 하나(직접 지정해줘야함)
- 대표적인 k 찾기 방법
1. 엘보우(Elbow) : 이너셔(inertia)의 변화를 관찰하여 최적 클러스터 개수를 찾을 수 있음
특정 지점부터 클러스터 개수를 늘려도 이너셔가 크게 줄어들지 않음
* 이너셔 : 클러스터에 속한 샘플이 얼마나 가깝게 모여 있는지를 나타내는 값
클러스터 중심과 클러스터에 속한 샘플 사이의 거리의 제곱 합
* KMeans 클래스 : 자동으로 이너셔를 계산하여 inertia_ 속성으로 제공
○ 차원(= 특성) 축소
● 왜 할까? 특성이 많으면 선형 모델의 성능이 높아지고 훈련 데이터에 과대적합
So, 차원 축소를 통해 데이터를 가장 잘 나타내는 일부 특성을 선택하여 데이터 크기를 줄이고 모델 성능 향상
● PCA(주성분 분석)
: 데이터에 있는 분산(데이터가 널리 퍼져있는 정도)이 큰 방향(데이터를 잘 표현하는 벡터)을 찾는 것
- 주성분 벡터의 원소 개수 = 원본 데이터셋에 있는 특성 개수
But 주성분을 사용해 차원을 줄일 수 있음
즉, 주성분 = 원본 차원 but 주성분으로 바꾼 데이터는 차원이 줄어들게 된다.
- PCA 클래스의 객체를 만들 때 n_components 매개변수에 주성분의 개수를 지정해야함
- 설명된 분산 : 주성분이 원본 데이터의 분산을 얼마나 잘 나타내는 지 기록한 값
* PCA 클래스의 explained_variance_ratio_ 에 각 주성분의 설명된 분산의 비율이 기록되어 있음
* 첫 번째 주성분의 설명된 분산이 가장 큼
* 주성분으로 표현하고 있는 총 분산 비율 = 분산의 비율을 모두 더하기
'Networks > 데이터 분석 및 AI' 카테고리의 다른 글
SK networks AI Camp - Deep learning 기초 (2) | 2024.09.04 |
---|---|
SK networks AI Camp - 인공 신경망 (3) | 2024.09.02 |
SK networks AI Camp- 회귀 (0) | 2024.08.30 |
SK networks AI Camp - 평가 지표 (0) | 2024.08.26 |
SK networks AI Camp - Data Encoding (0) | 2024.08.23 |