본문 바로가기

Machine learning

(15)
[부스팅 모델] AdaBoost 이 글은 Joshua Starmer의 AdaBoost, Clearly Explained를 정리한 것임을 밝힙니다. Adaboost(Adaptive Boost)부스팅의 알고리즘을 쉽게 이해할 수 있는 Adaboost에 대해 알아보자.Adaboost는 Random Forest와 달리 Stumps들의 집합을 가정으로 한다. (여기서, stump란 그림처럼  자식 노드가 두 개, 부모 노드가 하나로 이루어진 구조를 말한다.) 각, Stump들은 순차적으로 생성이 된다. Random Forest에서는 각 Decision Tree들이 동일한 가중치로 결정권을 행사했다면, Adaboost의 Stump들은 다른 가중치를 부여받는다. (가중치에 대한 과정은 이후 자세하게 설명) 그럼, 예시를 통해 이해해 보자!8개의 샘..
의사결정나무(Decision Tree) 이 글은 Joshua Starmer의 Regression Trees, Clearly Explained!!! 를 정리한 것임을 밝힙니다. 의사결정나무(Decision Tree)대표적인 비모수적 모델인 의사결정나무(Decision Tree)에 대해 알아보자.  만약, 데이터가 왼쪽과 같이 선형적으로 분포 되어 있다면, 선형 회귀와 같은 모델로 최적화할 수 있다. 그러나, 오른쪽과 같이 점진적으로 변화하지 않고 X값에 따라 뚝뚝 나뉘는 데이터의 분포 형태라면 이러한 선형 회귀의 가정은 옳지 않다. 이런 경우를 위해 Decision Tree가 등장하였다. 의사결정나무(Decision Tree)는 분류(Classification)와 회귀(Regression) 문제를 해결하기 위해 사용되는 지도 학습 알고리즘이다...
[클러스터링] T-SNE 이 글은 Joshua Starmer의 StatQuest: t-SNE, Clearly Explained 를 정리한 것임을 밝힙니다. T-SNE(T-distributed Stochastic Neighbor Embedding)는 고차원 데이터를 저차원으로 시각화하기 위한 기계 학습 알고리즘이다. 이 기술은 특히 고차원 공간에서의 데이터 포인트 간 거리를 저차원(주로 2차원 또는 3차원) 공간에서 잘 보존하는 데 중점을 둔다. T-SNE는 우선 각 데이터 포인트를 중심으로 한 주변의 다른 데이터 포인트들과의 유사도를 고차원에서 확률 분포로 나타낸다. 이 때, 가우시안 분포를 사용한다. 그 다음, 저차원 공간에서도 비슷한 확률 분포를 만들어 내려고 한다. 이를 위해, 저차원에서는 t-분포를 사용하여 데이터 포인트..
[차원축소] PCA(주성분분석) 이 글은 Joshua Starmer의 StatQuest: Principal Component Analysis (PCA), Step-by-Step 를 정리한 것임을 밝힙니다. PCA 주성분 분석(PCA, Principal Component Analysis)은 고차원 데이터의 주요 특성을 추출해 차원을 축소하는 통계적 방법이다. 이 방법은 데이터에서 중요한 정보를 유지하면서 차원을 감소시켜 데이터를 더 단순한 형태로 표현한다. 이 글에서는 PCA를 하는 과정을 설명하면서 PCA에 대해 설명해보겠다. PCA 과정 Gene1, Gene2 피처 2개가 있는 데이터로 예시를 들어보자. 1. 데이터 정규화 및 이동 PCA를 위해서는 먼저 피처들을 같은 스케일로 맞춰줘야 한다. 단위가 같은 크기로 반영되어야 하기 때문..
[정규화] Elastic Net 이 글은 statquest의 Regularization Part 3: Elastic Net Regression를 정리한 것임을 밝힙니다. Elastic Net 앞서 릿지, 라쏘에 대한 정규화 기법을 알아보았는데, 현업에서는 수많은 피처가 사용될 때가 많다. 변수들이 대부분 중요하고 상관관계가 높으면 릿지를, 불필요한 변수가 많으면 라쏘를 쓰라고 했는데 사전에 그 많은 피처들에 대해 이러한 정보를 아는 것은 어렵다.. 그래서 나온 방법이 Elastic Net이다. Elastic Net은 Ridge와 Lasso의 하이브리드 정규화 기법이다. 위의 수식에서 보이듯이 릿지와 라쏘는 각각 다른 λ1, λ2 규제 상수를 사용한다. 위 그림처럼 교차검증을 통하여 최적의 λ1, λ2를 찾아준다. Elastic Net의..
[정규화] 라쏘(LASSO) 회귀 이 글은 statquest의  Regularization Part 2: Lasso (L1) Regression를 정리한  것임을 밝힙니다.LASSOLASSO는 정규화 기법으로써 릿지 회귀와 매우 유사하다. 릿지 회귀를 모른다면 [정규화] 릿지 회귀 를 참고하시길!정규화 기법이란 모델의 비용함수에 파라미터의 페널티 항을 추가함으로써, 피처들의 영향을 줄이는 방법을 말한다.이를 통해 bias는 높아지지만, variance가 낮아져 일반화된 모델을 만들 수 있게 된다.이 때, 어떤 페널티 항을 주느냐에 따라 정규화 기법을 다르게 일컫는다. 파라미터의 제곱의 합을 추가하면 Ridge라고 하고, 파라미터 절댓값의 합을 추가하면 LASSO라고 한다. LASSO 와 Ridge의 차이 Ridge와 Lasso Regre..
[정규화] 릿지(Ridge) 회귀 이 글은 statquest의  Regularization Part 1: Ridge (L2) Regression 를 정리한 것임을 밝힙니다. Ridge Regrssion Ridge Regrssion은 훈련 데이터에 과적합하여 high variance를 갖는 경우를 방지하기 위한 정규화 기법이다. 기존 선형회귀는 단순히 잔차의 제곱합을 줄이는 과정이었다면, 릿지회귀는 잔차의 제곱합 + λ * 파라미터2 을 줄임으로써 파라미터에 제약을 준다. 파라미터의 제약을 둠으로써 x값의 영향을 제하는 것이다! 위 그림에서 λ를 키울수록 기울기는 작아진다. 이는, λ가 클수록 y에 대한 x의 영향력이 작아진다고 해석할 수 있다. (* λ가 매우 크다면 그냥 수직선이 되어버린다) 그렇다면 λ를 어떻게 설정해야 할까? 교차검..
추천시스템 쉽게 이해하기 (Content-based, Collaborative filtering) 이 글에서는 추천 시스템의 두 가지 주요 방식인 '콘텐츠 기반 필터링(Content-based Filtering)'과 '협업 필터링(Collaborative Filtering)'에 대해 살펴볼 것이다. 이 두 방식은 매우 다르지만, 각각의 방식이 어떻게 사용자에게 맞춤형 추천을 제공하는지를 이해하는 것이 중요하다. 먼저 간단히 설명하자면, - Content-based Filtering: 제품의 특성에 대한 선호도 기반 - Collaborative Filtering: 제품을 평가한 사용자 기반 자세히 알아보도록 하자! Content-based Filtering 콘텐츠 기반 필터링은 제품의 특성을 추출하여, 비슷한 제품의 특성을 가진 다른 제품을 추천해주는 방식이다. 대표적인 예로, 음악의 가사, 음정, 분..