본문 바로가기

CS22

혼자 공부하는 머신러닝 + 딥러닝 - Ch1 오늘부터 혼자 공부하는 머신러닝으로 공부하고 여기에 정리글을 쓰려고 합니다. 처음 공부하는 소재는 KNN 알고리즘을 이용한 생선 분류입니다. 우선 KNN 알고리즘이란 K-Nearest Neighbor 의 약자로, 가장 인접한 k개의 데이터를 토대로 새로운 값을 분류해주는 알고리즘입니다. 사실 이 방법은 model을 훈련시키는게 아니라, 학습한 모든 데이터를 저장하고 있다가 새로운 값이 들어오면 거리계산을 통해 k개중 비중이 높은걸 출력해주는 형식입니다. 거리를 계산할 땐, 맨해튼 거리나 유클리드 거리등 다양한 방법이 존재합니다. 또한 k 값 또한 우리가 적절히 정해줄 수 있습니다. 이 방법의 장점은 매우 간단하고 직관적입니다. 그리고 효율도 꽤나 잘 나옵니다. 하지만 새로운 데이터가 들어오면 모든 데이터.. 2023. 1. 4.
로지스틱 회귀 1. 로지스틱 회귀란 로지스틱 회귀는 회귀식을 통해 사실 이진분류를 하는 방법입니다. 예를 들어 학생들의 영어, 수학, 국어 성적등(feature)과 시험합격여부 0, 1(label)이 주어지면, 회귀식을 통해 값 \(x\) 를 찾아내면 그 값으로 분류를 진행하는 것입니다. 통계학에서 두가지 결과만 있을 때, 이항분포의 일종인 베르누이 분포를 사용합니다. 확률론적 방법을 통해 특정 확률이상이면 분류를 시켜주는 방식으로 진행합니다. 우선, 이를 위해 실수값 \(x\) 를 확률 \(p\) 로 만들어주는 절차가 필요합니다. 2. 활성화 함수 활성화함수는 선형회귀식으로 얻은 함수를 곡선형태의 꼴로 변환시켜주는 역할을 합니다. 활성화함수가 되기 위한 조건으로는 미분시 자기자신으로 표현가능하거나, 값이 정의역에서 .. 2022. 12. 20.
선형 회귀 - 경사 하강법 경사하강법(gradient descent)에 대해 정리해봅시다. 경사하강법은 이후 모델에서도 손실함수 MSE를 최적화하기 위한 방법으로 사용됩니다. 원리는 간단합니다. 경사하강법은 정확한 값을 한번에 구하는게 아니라 함수가 볼록하다는 점을 이용하여 계속해서 값을 업데이트해나가는 방식입니다. 즉, 경사하강법은 손실함수를 최소화하는 방향으로 파라미터를 업데이트하는 방식으로 작동합니다. 업데이트 방식은 학습률 \(\eta \) 에 대해, $$w=w-\eta \frac{\partial L}{\partial w} , b=b-\eta \frac{\partial L}{\partial b} $$ 를 반복해주면 됩니다. 미분방향의 역방향으로 갱신을 해줘야 볼록함수의 중앙으로 가게 되고, 거기에 학습률 곱해서 변화값의 증.. 2022. 12. 2.
선형 회귀 - 최소제곱법 회귀에서 대표적인 손실함수에는 오차제곱평균(MSE)이 있습니다. $$ y=\frac{\sum_{i=1}^{N}(y_i-\widehat{y_i})^2}{N} $$ 회귀(regression) 의 최적화 방법 중 최소제곱법에 대해 알아보겠습니다. 최소제곱법(lest square method)은 주로 단순 선형 회귀(모델이 일차함수)인 경우 활용됩니다. 단순 선형 회귀에서 MSE는 이차함수가 됩니다. 이 때 우리가 구할 것은 예측모델 \(y=ax+b\) 에서 \(a\)와 \(b\) 값입니다. MSE함수를 \(f\)라고 하면, 계수가 양수인 이차함수에서 최솟값을 가지므로 $$ \frac{\partial f}{\partial a}=0 , \frac{\partial f}{\partial b}=0 $$ 가 성립합니다... 2022. 11. 27.