diff --git "a/week2/4\355\214\200_\352\271\200\353\217\204\355\230\204.md" "b/week2/4\355\214\200_\352\271\200\353\217\204\355\230\204.md" new file mode 100644 index 0000000..6549d59 --- /dev/null +++ "b/week2/4\355\214\200_\352\271\200\353\217\204\355\230\204.md" @@ -0,0 +1,25 @@ +### 회귀: 두 변수 사이의 인과관계를 분서하는 방법 +### 분류vs회귀: 분류는 여러 클래스 중 하나로 분류하지만 회귀는 임의의 어떤 숫자로 예측한다. + +### 결정계수(R^2): 대표적인 회귀 문제의 성능 측정 지표, 1 - sum((실제-예측)^2)/sum((실제-평균)^2), 1에 가까울수록 성능이 좋다. +### 결정계수 추가 설명: 결정계수는 분산을 이용한 지표로, 모델의 설명력을 나타낸다. 실제 타깃의 분산은 (설명할 수 없는 분산 + 설명할 수 있는 분산)으로 이루어지는데 (설명할 수 있는 분산/실제 타깃의 분산)이 결정계수이다. 독립변수가 많아질수록 설명할 수 있는 분산은 늘어나고 결국 종속변수와 별로 관련이 없는 독립변수가 추가해도 결정계수의 값은 증가하는 현상이 발생한다. 따라서 독립변수가 여러개일 때는 조정된 결정계수 값을 이용하여 비교해봐야한다. + +### 과대적합: 훈현 데이터에는 잘 맞지만 테스트 데이터에는 잘 맞지 않는 모델, 복잡한 모델에서 일어난다. Low Bias, High Variance +### 과소적합: 훈련 데이터와 테스트 데이터 모두 잘 맞지 않는 모델, 단순한 모델에서 일어난다. High bias, Low Variance +### 특성공학: 기존의 특성을 활용해 새로운 특성을 추출하는 작업 (X -> X^2) +## K-최근접 이웃 회귀 +### K-최근접 알고리즘: 어떤 데이터를 분류하고 회귀할 때 근처에 있는 주위 다른 데이터를 이용하는 방법, K는 고려할 주위 데이터의 수를 의미함 (분류의 경우 주위 데이터 중 다수가 차지하는 클래스, 회귀는 주위 데이터의 결과값을 평균) +### 단점: 훈련 데이터의 범위를 벗어난 데이터가 들어오면 값을 예측하기 힘들다. + +## 선형회귀 +### 선형회귀: 종속변수와 한 개 이상의 독립변수와의 선형관계를 모델링하여 분석하는 방법 +### 단순 선형회귀: 선형회귀에서 독립변수가 한 개일 경우 +### 다중 선형회귀: 선형회귀에서 독립변수가 여러 개일 경우 +### 다항회귀: 다항식을 이용한 선형회귀 (Y = wo + w1X + w2(X^2) + w3(X^3) + ...) + +### 규제: 모델이 과대적합되지 않도록 규제하는 방법 +## 릿지와 라쏘 +### 릿지: 선형회귀 모델에 alpha sum((계수)^2)을 더해 규제를 추가한 모델 +### 라쏘: 선형회귀 모델에 alpha sum(absolute(계수))를 더해 규제를 추가한 모델 +### 릿지의 경우 계수가 0이 될 수 없지만, 라쏘의 경우는 계수가 0이 되기도 한다. 일반적으로 릿지 모델을 조금 더 선호한다. + diff --git "a/week5/6\355\214\200_\352\271\200\353\217\204\355\230\204.md" "b/week5/6\355\214\200_\352\271\200\353\217\204\355\230\204.md" new file mode 100644 index 0000000..3ef12e1 --- /dev/null +++ "b/week5/6\355\214\200_\352\271\200\353\217\204\355\230\204.md" @@ -0,0 +1,56 @@ +# Chapter 06 비지도학습 + +## Chapter 06-1 군집 알고리즘 + +- 용어정리 + - **비지도학습:** 타깃이 없는 무언가를 분류하는 머신러닝 알고리즘 + - **군집:** 비슷한 샘플끼리 그룹으로 모으는 작업 + - **클러스터:** 군집 알고리즘에서 만든 그룹 + +- 픽셀 값을 이용하여 이미지 분류하기 (타깃이 있을 경우) + 1. 클래스별로 이미지를 모은 후 각 픽셀의 평균 구한다. + 2. 어떤 이미지가 주어지면 각 클래스별로 이미지(픽셀)의 평균값을 빼고 이 값을 오차로 사용한다. + 3. 가장 오차가 작은 값을 가지는 클래스가 그 이미지의 클래스가 된다. + + -> 실제 비지도학습에서는 타깃이 없기 때문에 각 클래스의 평균을 구할 수 없다: **K-평균 알고리즘**이 이 문제를 해결 + +--- + +## Chapter 06-2 K-평균 + +- 용어정리 + - **센트로이드 (클러스터 중심):** 클러스터에 속하는 샘플의 평균값 점 + - **이너셔:** 모든 클러스터에 대해서 클러스터 중심과 클러스터 속한 샘플 사이 거리의 제곱합 + +- K-평균 알고리즘 + 1. 무작위로 K개의 클러스터 중심을 정한다. + 2. 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정한다. + 3. 클러스터에 속한 샘플의 평균값으로 클러스터 중심으로 변경한다. + 4. 클러스터 중심에 변화가 없을 때까지 2번으로 돌아가 반복한다. + +- 최적의 K값 찾기 (**엘보우 방법**) + - K값에 따른 이너셔 값의 변화를 관찰하면서 최적의 K값을 찾는 방법 + - K값(클러스터 개수)이 증가할 때, 이너셔 값은 계속 감소한다. + - K값에 따른 이너셔 값을 그래프로 그렸을 때, 이너셔 값이 감소하는 속도가 확 줄어드는 지점이 최적의 K값 + +--- +## Chapter 06-3 주성분 분석 + +- 용어정리 + - **차원:** 데이터의 특성 + - **차원축소:** 원본 데이터의 특성을 적은 수의 새로운 특성으로 변환하는 것 + - **설명된 분산:** 원본 데이터의 분산 중 설명가능한 분산 + +- 주성분 분석(Principal Component Analysis) + - 대표적인 차원 축소 알고리즘 중의 하나 + - 알고리즘 + 1. 데이터에서 가장 큰 분산을 가지는 방향의 벡터(주성분)을 찾는다. + 2. 찾은 벡터와 모두 수직이면서 다음으로 가장 큰 분산을 가지는 방향의 벡터를 찾는다. + 3. 차원수(데이터의 특성 개수)만큼의 벡터를 찾을 때까지 2번을 반복한다. + - 주성분 분석을 활용하면 적은 개수의 주성분으로 원본 데이터의 특성을 잘 나타낼 수 있다. + - 주성분이 얼마나 원본 데이터를 잘 나타내는지 확인하기 위해 설명된 분산을 지표로 사용한다. + - 데이터의 차원이 줄어들기 때문에 데이터의 효율적인 저장이 가능하다. + - 차원의 저주(Curse of Dimensionality) 문제를 해결할 수 있다. + +--- +