Random Forest란? Decision Tree를 여러 개 만든 다음 앙상블 (Ensemble) 하여 학습성능을 높이는 방법이다. 이름에서 보이듯이 Tree를 여러 개 만들기 때문에 Forest란 이름이 붙여졌다. Random Forest 과정 Random Forest 과정은 Decision Tree에서 몇가지 더 추가됐다. Decision Tree를 여러 개 만드는 것이기 때문에 추가된 과정들을 설명한다. Bagging을 사용하여 BootStrap을 만든다. BootStrap을 이용하여 Decision Tree를 학습시킨 후 예측을 수행한다. 1, 2 번을 충분히 반복하여 여러 개의 Decision Tree에 대한 예측을 모은다. 회귀트리의 경우 모인 예측들에 평균 (Average) 을 취하고, ..
편향 (Bias) : 예측이 정답에서 얼마나 떨어져 있는지를 반영한다. 분산 (Variance) : 예측의 변동폭이 얼마나 큰지를 반영한다. 모델을 선택할 때, training data에 대해 적절히 잘 훈련되어야 하며, 새로운 데이터에 대해서 일반화 (Generalization) 까지 하는 것이 가장 이상적이라 할 수 있다. 하지만 이 둘을 동시에 달성하는 것은 거의 불가능하다. 전체 에러 수식을 보면 다음과 같다. 첫 번째 δ ^2은 절대 줄일 수 없는 오차, 두 번째는 분산, 세 번째는 편향이다. 모델 학습은 전체 에러를 낮추는 방향으로 진행 되기 때문에 전체 에러가 주어질 경우, 분산과 편향사이에 트레이드 오프가 일어나게 된다. 고분산 학습 알고리즘의 경우 training data를 잘 표현하지만..
Decision Tree 란? 의사결정 규칙을 나무구조로 나타내어 분류 및 예측을 수행하는 분석방법이다. 이 방법은 분류 또는 예측이 나무구조에 의한 추론에 의해서 표현되기 때문에 다른 방법들에 비해 쉽게 이해가 가능하다. 그림을 통해 노드들을 간단하게 설명하면 다음과 같다. 한 번에 하나씩의 설명변수를 사용하여 정확한 예측이 가능한 규칙들의 집합을 생성한다. Root Node : 트리 구조 중 가장 맨 위에 있는 노드 ( '남자인가?' ) Leaf Node, Terminal Node : 자식 노드가 없는 가장 맨끝에 있는 노드 (사망, 생존) Internal Node : 루트 노드와 터미널 노드를 제외한 노드 ( '(나이 > 9.5)인가?', '(sibsp > 2.5)인가?' ) 그렇다면 어떤 순서로 ..
Abstract 다음과 같이 독립변수가 p개인 다중 선형 회귀 식이 있다. 선형 회귀는 종속변수 y가 연속형이며, 아파트 가격을 예측 하는 것이 하나의 예시가 될 수 있을 것이다. 선형 회귀는 독립변수 x와 종속변수 y의 관계가 선형이라고 가정하고, 이를 가장 잘 설명하는 회귀계수들을 데이터로부터 추정하는 모델이다. 선형 회귀의 그래프를 그려보면 아래와 같다. 하지만, 종속변수 y가 범주형 변수라면, 어떻게 될까? 타이타닉 데이터를 예로 들었을 때, 왼쪽그림과 같은 경우 0 = 사망, 1 = 생존 인데 선형 회귀로는 잘 설명하지 못한다. 선형 회귀의 경우 숫자가 의미 있지만 방금과 같은 경우에서 숫자는 의미가 없다. 생존 - 생존 = 사망 이라는 식이 말이 안된다는 이야기다.이러한 사례 때문에 오른쪽 그..
모델 평가 방법 좋은 모델을 만들려면 어떤 모델이 좋은 것인가부터 정해야 한다. 평가 메트릭 (Metric) Y, N 두 종류 클래스를 분류한다고 해보자. 분류 모델에서의 모델 평가 메트릭 (Metric) 은 아래의 두 값의 발생 빈도를 나열한 혼동 행렬으로 부터 계산한다. 모델에서 구한 분류의 예측값 데이터의 실제 분류인 실제 값 혼동행렬(Confusion Matrix) 혼동 행렬의 각 셀에 붙은 이름은 아래 설명과 같다. True & False : 예측이 정확했는지를 뜻한다. Positive & Negative : 모델을 통해 예측한 값을 의미한다. 예를 들어, True Positive (TP) 는 예측이 정확했고 (True), 이때 예측값은 Positive (즉, Y) 였음을 뜻한다. 또 다른 예로..
논문 https://ieeexplore.ieee.org/abstract/document/8653834 Abstract 문서 표현을 위해 전통적으로 BoW (Bag-of-Words) 방식을 사용하지만, 이 방식의 문제점은 높은 차원과 희소성 (Sparsity) 을 가진다는 것임. 최근에는, 이러한 문제를 해결하기 위해 (더 낮은 차원, Dense한 분산 표현) 을 얻기 위한 많은 방식들이 제안되었음. 단락 벡터 (PV, Paragraph Vector) 가 하나의 방법임. 단락 (Paragraph) 을 추가적인 단어로 고려하여, Word2Vec을 확장한 방법. 그러나, PV는 모든 작업에서 하나의 표현만 생성하지만, 일부 다른 작업에서는 여러 다른 표현이 필요할 수 있음. 이 논문에서, 우리는 지도 단락 벡..
논문 https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf 개요 1000개의 클래스를 분류하는 ImageNet LSVRC-2010 대회에서 120만개의 고해상도 이미지를 분류하기 위해 dcnn을 훈련했다. 테스트 데이터에서 우리는 top-1과 top-5에서 각각 17%와 37.5% 오류율을 달성했으며 이 전 기술보다 상당히 좋아진 것을 볼 수 있었다. 6000만개의 Parameter와 65만개 Neuron들을 가진 신경망은 5개의 Convolutional Layer, 3개의 Fully-Connected Layer로 구성되어 있으며, 마지막 층은 1000개의 category를 분..
One-Hot Encoding / Vector (원-핫 인코딩 / 벡터) ? 어휘 집합 (Vocabulary) 내 단어를 표현하는 가장 간단한 방법이다. 어휘 집합 (Vocabulary) ? : 중복된 단어가 없는 서로 다른 단어들의 집합이다. 왜 사용할까 ? 상당히 직관적이며, 간단하다. 컴퓨터나 기계는 보통 문자보다는 숫자를 더 잘 처리하기 때문에, 문자를 숫자 형태로 바꾸기 위해 사용한다. 설명 표현하고 싶은 단어의 인덱스 값을 1, 이외에 나머지 값들은 모두 0으로 설정한다. 원-핫 인코딩을 통해 나온 벡터를 원-핫 벡터 (One-Hot Vector) 라고 하며, 이 벡터의 차원은 어휘 집합의 크기와 동일하다. ex) "강아지", "고양이", "사자", "호랑이", "돼지" 라는 단어들로 구성된 ..