[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 5주차
글 작성자: _rian

Chapter 6. 비지도학습
6-1. 군집 알고리즘
- 비지도학습 (unsupervised learning)
- 타깃 (label)이 없을때 사용하는 알고리즘.
- 군집화 (clustering)
- 비슷한 샘플끼리 그룹으로 모으는 작업
- 클러스터 (clusert) : 군집 알고리즘으로 만든 그룹
6-2. k-평균
- k-평균 (k-means) : 평균값을 자동으로 찾아주는 대표적인 군집 알고리즘
- 평균값이 클러스터의 중심에 위치하기 때문에 클러스터 중심 (cluser cener) 또는 센트로이드 (centroid) 라고 불림.
- 알고리즘 동작 방법
- 1. 무작위로 k개의 클러스터 중심을 정함
- 2. 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정
- 3. 클러스터에 속한 샘플의 평균 값으로 클러스터의 중심을 정함
- 4. 클러스터 중심에 변화가 없을 때 까지 2번으로 돌아가 반복
- 최적의 k 찾기
- 엘보우 (elbow) 방법
- 이너셔 (inertia) : 클러스터 중심과 샘플 사이의 거리 제곱 합.
- 클러스터에 속한 샘플이 얼마나 가깝게 모여있는지 나타내는 값. 일반적으로 클러스터 갯수가 늘어나면 클러스터 개개의 크기는 줄어들기 때문에 이너셔도 줄어든다.
- 클러스터 개수에 따라 이너셔 감소가 꺾이는 지점이 적절한 k 가 될 수 있다.
- KMeans 클래스에서는 자동으로 이너셔를 계산해서 ∈ertia 속성으로 제공함
- 이너셔 (inertia) : 클러스터 중심과 샘플 사이의 거리 제곱 합.
- 엘보우 (elbow) 방법
6-3. 주성분 분석
- 차원 축소 (dimensionality reduction)
- 대표적인 비지도학습 작업 중 하나.
- 데이터를 잘 나타내는 일부 특성을 선택해서 데이터의 크기를 줄이고 지도 학습 모델의 성능을 향상시킬 수 있는 방법
- 대표적인 알고리즘으로 주성분 분석 (principal component alaysis)가 있다.
- 주성분 분석
- 데이터에 있는 분산이 큰 방향을 찾는 방법.
- 설명된 분산 (explained variance) : 주성분이 얼마나 원본 데이터의 분산을 잘 나타내는기 기록한 값
- PCA 클래스의 expla∈edvarianceratio 에 각 주성분의 설명된 분산 비율이 기록되어 있따.
미션
기본 미션: k-평균 알고리즘 작동 방식 설명하기
- 1. 무작위로 k개의 클러스터 중심을 정함
- 2. 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정
- 3. 클러스터에 속한 샘플의 평균 값으로 클러스터의 중심을 정함
- 4. 클러스터 중심에 변화가 없을 때 까지 2번으로 돌아가 반복
선택 미션: Ch.06(06-3) 확인 문제 풀고, 풀이 과정 정리하기
2번 문제 : 샘플 개수가 1,000개고 특성 개수가 100개인 데이터셋이 있습니다. 이 데이터셋의 크기는 (1000, 100) 입니다. 이 데이터를 사이킷런의 PCA 클래스를 사용해 10개의 주성분을 찾아 변환했습니다. 변환된 데이터셋의 크기는 얼마일까요? -> (1000, 10)
2번 문제에서 설명된 분산이 가장 큰 주성분을 몇번째인가요? -> 첫번째 주성분. (PCA를 통해 얻은 주성분은 무조건 첫번째 주성분이 가장 분산이 크다.)
'머신러닝 꿈나무' 카테고리의 다른 글
Ray와 Ray를 이용한 ML모델 학습 예시 (0) | 2024.02.15 |
---|---|
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 4주차 (0) | 2024.01.29 |
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차 (1) | 2024.01.21 |
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차 (1) | 2024.01.14 |
강화학습이란? 심층 강화학습에 대한 정의와 종류 (1) | 2024.01.05 |
댓글
이 글 공유하기
다른 글
-
Ray와 Ray를 이용한 ML모델 학습 예시
Ray와 Ray를 이용한 ML모델 학습 예시
2024.02.15https://www.ray.io/ Productionizing and scaling Python ML workloads simply | Ray Scale your compute-intensive Python workloads. From reinforcement learning to large-scale model serving, Ray makes the power of distributed compute easy and accessible to every engineer. www.ray.io Ray란? 오픈소스 분산 컴퓨팅 프레임워크. Python 기반으로 간단하면서도 강력한 API를 제공하고 있다. (한마디로, 편하다!) 기계학습, 강화학습 등의 컴퓨팅 작업도 수월하게 처리 가능함. 핵심 기능 간편한… -
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 4주차
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 4주차
2024.01.29Chapter 5. 트리 알고리즘 5-1. 결정 트리 결정 트리 (Decision Tree) 예/아니오에 대한 질문을 이어나가면서 정답을 찾아 학습하는 알고리즘 비교적 예측 과정을 이해하기 쉽고 성능도 뛰어남. 불순도 (Gini impurity) 결정트리가 최적의 질문을 찾기 위한 기준 $$\text{지니 불순도} = 1 - (\text{음성 클래스의 비율}^2 + \text{양성 클래스 비율}^2 )$$ 정보이득 (information gain) 부모 노드와 자식 노드의 불순도 차이. 결정트리는 제한없이 성장하면 과대적합 되기가 쉬움. 따라서 가지치기를 함으로써 결정트리의 성장을 제한하는 것도 한 방법 5-2. 교차 검증과 그리드 서치 검증 세트 (validation set) 모델의 과대적합을 막기 위… -
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 3주차
2024.01.21Chapter 4. 다양한 분류 알고리즘 4-1. 로지스틱 회귀 Logistic regression 이름은 회귀지만 사실은 분류 모델. 선형 방정식을 사용한 분류 알고리즘. 선형 회귀와 달리 시그모이드 함수나 소프트맥스 함수를 사용하여 클래스의 확률을 출력할 수 있다. 시그모이드 함수 : 선형 방정식의 출력을 0과 1 사이의 값으로 압축. 소프트맥스 함수 : 다중 분류에서 여러 선형 방정식의 출력 결과를 정규화하여 합이 1이 되도록 만듦 4-2. 확률적 경사하강법 점진적 학습 훈련한 모델을 버리지 않고 새로운 데이터에 대해서만 조금씩 훈련하는 학습법. 대표적으로 확률적 경사하강법이 있다. 확률적 경사하강법이란? 전체 샘플을 사용하지 않고 딱 하나의 샘플을 훈련 세트에서 랜덤하게 골라 가장 가파른 길을 찾… -
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차
[혼공머신] 혼자 공부하는 머신러닝 & 딥러닝 2주차
2024.01.14Chapter 3. 회귀 알고리즘과 모델 규제 3-1. k-최근접 이웃 회귀 K-최근접 이웃 회귀 예측하려는 샘플에 가장 가까운 샘플 k개를 선택 분류 문제의 경우, 이 샘플들의 클래스를 확인하여 다수의 클래스를 새로운 클래스로 예측함 회귀 문제의 경우, 분류 문제와 마찬가지로 예측하려는 샘플에 가장 가까운 샘플 k개를 선택하여 이를 평균매긴 값으로 선택. 결정 계수 ($R^2$) 회귀 모델에서 모델을 평가하는 방식 $R^2 = 1 - \frac{\sum(target - pred)^2}{\sum(target - mean)^2}$ 각 샘플의 타깃과 예측값의 차리를 제곱하여 더한 후 타깃과 타깃의 평균의 차이를 제곱하여 더한 값으로 나눔. $R^2$는 예측이 타겟에 아주 가까워지면 1에 가까운 값이 되며, …
댓글을 사용할 수 없습니다.