목록AI/머신러닝 (16)
꺼내먹는지식 준

Adaboost 를 만드는 방법이 몇가지 존재하지만, 그 중 Decision Tree를 사용하는 것이 가장 일반적이다. Decision Tree를 기반으로 하는 Adaboost 를 살펴보자. 랜덤 포레스트 내용이 필수적으로 등장하니, 잘 모르는 분들은 먼저 이 글을 읽고 오면 좋다. 랜덤 포레스트는 트리를 만들 때 마다 full-sized tree를 만든다. 그리고 max sample 개수나 특정 조건에 따라 각각의 트리의 깊이가 다르다. 반면, Adaboost는 주로 깊이가 1인, 즉 루트 노드에 두개의 leaves 만 존재한다. 이러한 형태의 Tree를 Stump 라 한다. 아래 이미지와같이 stump 들의 모임은 주로 Forest of Stumps 라 부른다. 당연히 Stumps는 feature 하..

앙상블 앙상블에 대한 General하고 Naive한 정의는 여러 약한 알고리즘의 힘을 합쳐서 하나의 강력한 의사결정을 하는 머신러닝 기법이다. 앙상블은 배깅, 부스팅, 보팅으로 나뉜다. 배깅 : 동일 알고리즘의 약 분류기를 병렬로 사용 부스팅 : 동일 알고리즘의 약 분류기를 직렬로 사용 보팅 : 다른 알고리즘의 약 분류기를 병렬로 사용 (분류기가 아니라 회귀문제일 수도 있다.) 분류문제에 입각하여 앙상블을 정의해보면 다음과 같다. 앙상블은 여러 개의 의사 결정 트리(Decision Tree)를 결합하여 하나의 결정 트리보다 더 좋은 성능을 내는 머신러닝 기법이다. 즉, 여러 개의 약 분류기(Weak Classifier)를 병렬 또는 직렬로 결합하여 강 분류기(Strong Classifier)로 만드는 것..

decision tree를 공부할 때 보통 이산형 데이터 즉 분류모델을 배운다. 그런데 decision tree는 연속형 데이터에도 사용가능하다. 그리고 코딩한줄이면 간단히 구현이 된다. 하지만 머리로 생각해봐도 어떤 식으로 짜여졌는지 감이 잘 안온다. 이에따라 간단히 정리해본다. (https://www.youtube.com/watch?v=g9c66TUylZ4) 내용 기반 Linear Regression 으로 처리하기 어려운 경우 회귀 나무를 사용한다. 위와 같이 X의 범위로 간단하게 분류한 후, leaf node에는 해당되는 데이터들의 y 값의 평균을 기입한다. 위 과정을 반복하면, 쉽게 나눌 수 있다. 하지만 위와 같이 단순한 경우는 사실 그래프를 눈으로 보고 분류해도 된다. 회귀 나무가 필요 없다...

들어가며 머신러닝에서 learning 이란? parameter inference, 즉 파라미터를 특정 데이터에 맞춰 최적화 강한 hypothesis 를 기준으로 참과 거짓, rank, category, 군집 등을 결정하는 등의 목적이 있는데, 이를 위하여 데이터 셋을 기준으로 특정 모델의 parameter 조정한다. (다시 말하면 모델이 정해져있기 때문에 우리가 조정할 수 있는 건 parameter 밖에 없다.) logistic regression 에서 probability likelihood 를 최대한 높히기 위하여 gradient ascent 를 통해 θ 를 업데이트 하여 P(Y|X) 계산식이 도출되었기 때문에 learning 이 되었다. 이번 글에서는 Naive Bayes의 개념을 ..

Naive Bayes 가 Generative model 인 것을 확인하기 위하여 이전 글 에서 Generative Model에 대한 간략한 소개글을 작성했다. 해당 글을 원할하게 읽기 위해서는 이전 글을 간단하게 살펴보는 것을 추천한다. Naive Bayes를 classification task 로 사용하는 것은 익숙하나, data 생성용으로 사용된다는 것은 익숙하지 않다. 하지만 놀랍게도 Naive Bayes는 데이터 생성에 가장 일찍 사용된 모델 중 하나이다. 물론, 복잡한 이미지 데이터에는 사용할 수 없었다. 해당 글에서는 Naive Bayes가 어떻게 generative model 이며, 왜 해당 모델로 복잡한 데이터인 이미지나 글 생성에 사용될 수 없는지 정리한다. 인스타그램에서 #패션스타그램 ..

Naive Bayes Model은 Generative Model 이고 Logistic Regression 은 Discrimitive Model 이다. Generative Model은 GAN 과 Diffusion 으로 접해봤는데 Naive Bayes 가 Generative 라니 어떤 의미인지 직관적으로 와닿지 않았다. 이에 따라 Generative Model 과 Discrimitive Model 을 기본개념부터 비교해보며 정리해본다. Discriminative Model & Generative Model Discriminative Model 해당 모델들은 training data 중 클래스들을 구별하는데 도움이 되는 unique features 들만 학습한다. 이러한 특성으로 인해 주로 classifica..

지금까지 Traditional 한 기법인 Decision Tree, Linear Regression, Rule base 기법 등을 알아보았다. 그리고, 가장 최근 글에서는 conditional independence 를 가정한 Naive Bayes Classifier 를 알아보았다. Navie Bayes Classifier 는 MAP 기법으로 간단하게 구현된다. 하지만 Navie Bayes Classifier 는 Naive 한 가정으로 인해 feature 간의 interaction을 전혀 반영하지 못한다는 점에서 문제가 있었다. 이러한 문제를 탈피한 여러 방법론들을 앞으로 알아보려고 한다. 그 중, 가장 기본적인 것 부터 알아보자. Logistic Regression Logisitc Regression ..

Gradient Descent 에 대해 이론적으로 살펴볼 기회는 정말 많다. 하지만, 이게 정말 잘 동작하는지 눈으로 직접 비교하며 확인할 기회는 잘 없다. 그런 의미에서 간단하게 정리해놓는다. 본 내용은 모두 카이스트 문일철 교수님의 수업을 기반으로 하고 있음을 밝힌다. 다음의 Rosenbrock 함수가 있다. 워낙 간단한 함수라 미분으로 극점을 찾을 수 있다. 편미분 결과 global minimum = 0 at (1,1) 을 알 수 있다. 비교를 위해 위 함수를 approximation 인 gradient descent 방법을 통해 알아낼 수 있을지 확인해 보자. 먼저 초기 parameter 값을 정한다. x0=(x01,x02)=(−1.3,0.9) derivative 의 반대방..

Optimal Classification Concept Navie Bayes classifier Supervised Learning supervised learning: 데이터와 레이블이 주어진 상태에서 학습을 진행 많은 경우 데이터와 동시에 레이블이 주어진다. 이 경우 레이블이 존재하므로 마치 주입식 학습처럼 데이터에 따른 레이블의 대세를 학습한다고 이해하면 좋다. 보통 Classificaion 과 Regression 문제로 많이 나뉘는데, 현재 linear regression 을 한번 다루기도 했고 보통 classificaion 을 할줄 알면 regression은 따라오므로 본글은 classification을 위주로 내용이 전개된다. Optimal Classification Classificaion:..

머신러닝은 궁극적으로 우리가 찾고자 하는 함수를 근사하는 것이다. Linear Regression 은 그 중 아주 간단하고, 강력한 방법론 중 하나이다. 이름 그대로 linear 한 형태로 함수를 근사한다. 우리의 가설은 아래와 같다. h:ˆf(x;θ)=θ0+∑ni=1θixi=∑ni=0θixi n 은 feature value 의 개수이다. linear를 유지해야 하기 때문에 x 는 건들지 않고 θ 값을 잘 조정하여 함수를 근사한다. (x를 건들지 않고에 대해 이해가 잘 안간다면 일단 x 는 관측 데이터라 생각만 하고 넘어가자.) 그 전에 공식을 정리해보자. $ \the..