대학원 머신러닝 과목을 시험을 대비하기 위해서 기초 내용들을 질문형식으로 만들어 공부하였습니다.
이후에 공부하면서 알게 되는 내용도 계속 수정하여 추가 할 예정입니다.
Decision Tree는 어디에 쓰이나?
Classification, Regression 문제에 둘 다 사용가능하지만 분류 문제에 더 성능이 좋다. 굉장히 실용적이고 직관적인 방법으로 비전공자도 이해하기 쉬워 회사의 실무에 많이 사용된다고 합니다.
Decision Tree 구성요소는?
attribute, attribute value, class로 이루어 진다. 어떤 특성을 기준으로 할것인가(attribute: ex 날씨), 특성에는 어떤 값들이 있는가(attribut value: ex sunny rain등), 어디로 분류되는가(class)로 구성된다. 따라서 데이터들은 각 속성에 해당하는 값들와 class가 나열된 형태로 데이터가 주어져야 한다.
Decision Tree 특징은?
Error 데이터에 비교적 견고하다. 에러 데이터가 작을 때의 이야기다. 큰 기준으로 분류를 하기 때문에 작은 에러 데이터들은 무시되어 그런 것 같다. (하지만 그만큼 크면 치명적일 것 같다)
Information Gain?
목표 Class 들을 특정 속성이 얼만큼 잘 분류하냐를 나타내는 지표로 entropy 기반으로 측정하여 분류할 속성을 정하는 역할을 한다. (엔트로피는 불순도를 나타내는 값으로 다른 class들이 섞여 있을수록 높게 나온다. 반반 일때 가장 높고 one class 만 있을 떄는 0의 값을 갖는다. )
Decision Tree에서 오버피팅을 방지하는 방법은?
모두 분류하기 전에 Stop growing을 하는 방법과, 모두 나누고 post-prune(가지치기) 하는 방법이 있는데 가지치기 방법이 많이 사용된다.
C4.5 algorithm 에서 사용되는 Gain ratio란?
일반적인 Gain은 분류 문제에 데이터가 매우 소수일때 의미 없이 엔트로피가 낮아지는 현상이 발생한다. 이를 보정하기 위해서 split Information으로 나눠주어 문제를 해결한다.
Split Information?
집단의 사이즈와 노드들의 유사성을 나타내는 지표로 이 값이 작을수록 Gain ration가 올라간다.
CART에서 사용되는 Gini index란?
엔트로피 개념을 조금 다르게 사용함
Miscellaneous?
X가 범주형이 아닐 때 처리해 주는 방식으로 자동적으로 계산해서 threshold를 나눠줌
Decision Tree에서 missing value 처리 방법?
sort 하여 주변에 있는거 찾는 방법, 같은 클래스 내에서 sort하여 근처에 있는 값으로 대체
KNN에 있어서 k=1 일때와 k = 100 일때 bias 와 variance 측면에서 설명하면?
k가 1일때는 상대적으로 낮은 bias 높은 variance를 갖는다. 반면 k가 100 일때는 k가 높은 bias 낮은 variance를 갖는다.
'Data Science > 머신러닝&딥러닝 기초 이론' 카테고리의 다른 글
[머신러닝] Decision Tree, KNN, logistic Regression 실습 with python, sklearn (0) | 2021.04.19 |
---|---|
[머신러닝] Linear Regression, Lasso, Ridge with python,sklearn (0) | 2021.04.19 |
[딥러닝 실습] MNIST backpropagation 최고 성능 찾아보기 (learning rate, epoch 편) (0) | 2020.07.04 |
[딥러닝 실습] numerical_gradient 경사하강법 (0) | 2020.04.24 |
[딥러닝 실습] Loss function (0) | 2020.04.24 |
댓글