목록AI (100)
꺼내먹는지식 준

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 값의 평균을 기입한다. 위 과정을 반복하면, 쉽게 나눌 수 있다. 하지만 위와 같이 단순한 경우는 사실 그래프를 눈으로 보고 분류해도 된다. 회귀 나무가 필요 없다...
https://blog.naver.com/ha_junv 까먹을때 빨리 기억나려고 작성하는 블로그 : 네이버 블로그 자기소개가 없습니다. blog.naver.com NLP 는 네이버 블로그에서 정리했었다. 글을 티스토리로 옮기기가 용이하지 않아 링크
초평면을 구하기 위해서는 단순히 법선 벡터와 한 점만 알면 된다. 그리고 w를 법선 벡터라 할 때, $\vec{w} \cdot \vec{x} + b = 0$ 라는 공식이 주어진다. 문제는 위 공식이 어떻게 유도된 것인지 감이 안온다. 인터넷을 찾아봐도 관련 자료가 생각보다 정말 없다. 이에 따라 유도 과정을 정리해본다. $y = (x, y)$ in $R^2$ 직선의 방정식 general form $ax + by + d = 0$ 우리에게 익숙한 형태 $y = -\frac{a}{b}x - \frac{d}{b}$ $x = t , -\infty < t < \infty$ $\textrm{since, } y = \vec{p} = \vec{a} + t\vec{u}$ $y = (x,y) = (x_1, y_1) + t(..

점 $A(x_1, y_1)$를 지나고 법선벡터가 $\vec{n} = (n_1, n_2)$인 직선의 방정식은 $n_1(x- x_1) + n_2(y-y_1) = 0$ 법선 벡터는 내적하면 0 이라는 특성을 이용한 공식이다. 점 - 점 = 벡터 성질을 활용하여 (점 - 점) $\cdot$ 법선 벡터 = 0 로 구했다. ※ 2개의 점을 알아도 직선을 구할 수 있다. $a_1 x_1 + a_2 x_2 = b$ $Ax = b$ $Ax - b = 0$

초평면 초평면 $1 + 2X_1 + 3X_2 = 0$. $1 + 2X_1 = 3X_2 > 0$은 파란 점이 모인 파란 공간이고 $1+2X_1+3X_2 3 인 경우에는 초평면을 시각화하기 어렵지만 p-1 차원인 평평한 부분 공간인 것은 여전히 유효하다. 2차원에서 초평면의 수학적인 정의는 다음의 방정식으로 정의한다. $$\beta_0 + \beta_1 X_1 + \beta_2 X_2 = 0$$ 2..

벡터의 외적 평행하지 않은 두 벡터가 있다고 가정하자. 두 벡터에게 동시에 수직인 벡터를 구하고 싶으면 어떻게 해야할까? $\vec{a}, \vec{b}$ 두 벡터가 만드는 평면이 있을텐데, 그 평면 위에서는 두 벡터에 동시에 수직인 벡터를 찾을 수 없다. 이에 따라 벡터의 외적은 기본적으로 3차원 공간에서 생각해야 한다. $\vec{a}, \vec{b}$ 에 동시에 수직인 벡터 $\vec{P}$ 가 있다고 하자. 해당 $\vec{P}$ 를 쉽게 찾을 수 있는 방법을 찾아보자. 각 벡터를 성분으로 표현하고, 수직인 두 벡터를 내적하면 0이라는 성질을 사용해보자. $$a_1x + a_2y + a_3z = 0$$ $$b_1x + b_2y + b_3z = 0$$ 이 두 식을 동시에 만족시키는 $(x,y,z)$..

들어가며 벡터는 위치를 가지지 않는다. 위치와 상관 없이 동일한 크기와 방향을 가지는 벡터는 같다. 즉, 기하학에서 벡터는 '방향'과 '변화' 두가지 의미로 사용될 수 있다. 벡터의 덧셈 뺄셈 화살표의 방향을 유의해서 보자 벡터의 덧셈의 대수학적 법칙은 실수의 덧셈과 유사하다. 이는 위치를 갖지 않는다는 특성으로 인한다. 1. v + w = w + v (교환법칙) 2. u + (v+w) = (u+v) +w (결합법칙) 3. v + 0 = v (덧셈의 항등원) 4. 모든 v에 대해 v+(-v) = 0 을 만족하는 벡터 -v 가 존재한다. (덧셈의 역원) 뺄셈의 결과 벡터는 두번째 벡터의 머리에서 첫번째 벡터의 머리로 이어진다. ※ 아핀 공간: 한 6년전 그래픽스 논문을 읽다가 도대체 아핀 공간이 무엇인가!..

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