SVM(Support Vector Machine) 서포트 벡터 머신
- SVM은 고차원 공간의 데이터를 선형회귀 함수로 재구성함으로써 비선형 회귀 문제까지도 해결이 가능한 장점이 있다. 이러한 장점을 바탕으로 텍스트 분류나 영상, 사진에서의 인식과 더불어 bio informatics 분야의 protein 분류, cancer 분류에서도 사용되는 효과적인 분류 기법이다.
- SVM은 최대 마진 초평면으로 두 범주를 최대로 나누어 주는 평면을 찾게 되는데 이때 속성이 2개일 때는 간단한 선으로 나누어지고 속성이 3개 일때는 ‘선’이 아닌 ‘평면’이 되어 차원, 즉 속성의 개수가 늘어날 수록 복잡해지고 decision boundary 도 단순한 평면이 아닌 고차원이 된다.
- 서포트벡터머신은 서포트벡터 분류기를 확장하여 비선형 클래스 경계를 수용할 수 있는데, 이 개념을 적용한 커널 방법을 통해 좋은 예측 결과를 보여준다. 커널의 차원을 높이면, 더 다양한 경계를 만들 수 있다.
- 저차원의 데이터를 고차원의 데이터 값으로 매핑(mapping)하는 경우 계산량 증가와 같은 문제점을 커널함수가 해결할 수 있다. 대표적인 커널함수로는 가우시안 커널, r차 다항커널, 시그모이드 커널이 있다.
- 어떤 커널을 사용하는지에 대한 문제는 합리적인 규칙이 없고 성능별 차이도 없기 때문에 커널 함수의 결정은 데이터의 형태, 훈련 데이터의 총량 등을 고려한 시도와 평가를 기반으로 결정된다.
의사결정 나무 (Decision Tree)
- 의사결정 나무 분석은 데이터 마이닝 기법 중 하나로 분류와 예측에 대한 분석을 동시에 수행할 수 있는 비 모수적인 모형으로 통계적 가정사항이 필요하지 않아 보다 객관적인 결과를 도출할 수 있는 장점을 지닌 기법이다. 이때 비 모수적인 모형은 분석 대상의 데이터에 대한 가정이나 제약이 적은 모형을 의미한다.
- 의사결정 나무 분석을 목적변수가 명목형(이산형)인 경우 분류나무(classification tree)를 적용하고 목적변수가 연속형인 경우 회귀나무(regresion tree)를 적용하여 분석이 가능하다.
- 의사결정 나무는 하나의 나무 형태로 구성되어 있고, 노드라는 구성요소로 이루어져 있다. 각각 기능에 따라 노드는 다음과 같이 분류되어 정의된다.
- 뿌리 노드(Root Node): 나무 구조가 시작되는 마디로 모든 자료를 분류 시키는 노드이다. 사진에서 1번 노드가 뿌리 노드이다.
- 자식 노드(Child Node): 하나의 노드로부터 분리되어진 2개 이상의 노드들을 의미한다. 사진에서 2,3번 노드, 4,5번 노드 등이 자식 노드이다.
- 부모 노드(Parent Node): 자식 노드의 상위 노드를 뜻한다. 사진에서 1번 노드는 2,3번 노드의 부모 노드, 2번 노드는 4,5번 노드의 부모 노드에 해당한다.
- 끝 노드(Terminal Node) 또는 잎(Leaf): 각 의사 결정 나무의 줄기의 끝에 위치하고 있는 노드를 뜻한다. 사진에서 8,9,10,11,12,13,15번 노드들이 끝 노드이다.
- 중간 노드 (Internal Node): 의사결정나무의 중간에 있는 끝 노드가 아닌 노드들을 의미한다. 사진에서 2,3,4,5,6,7 번 노드들이 중간 노드이다.
- 가지 노드(Branch) : 하나의 뿌리 노드로부터 끝노드까지 연결괸 노드들을 뜻하며 이때 가지를 이루고 있는 노드의 개수를 의사결정 나무의 깊이라고 한다. 사진의 1,2,4,8,9번 노드와 1,3,7,14,15번 노드가 각각 하나의 가지이며 깊이는 가지를 이루고 있는 노드의 개수로 3이다.
- 의사결정 나무의 분리기준은 부모 노드로 부터 자식노드가 생성될 때에 데이터상의 입력변수를 선택해서 선택된 입력변수에 따라 범주를 선택하여 노드를 분리하는 기준을 뜻한다. 분리기준은 목적변수가 명목형(이산형) 인지 연속형인지에 따라 각각 다르게 적용된다.
- 이 트리의 장점은 누구나 쉽게 이해할 수 있고, 결과를 해석할 수 있다. 예를 들어 yes를 선택했던 것을 no로 바꾸기만 하면 간단하게 로직을 바꿀 수 있다.
- 의사결정 트리 생성 과정
- 학습과 분류의 2단계로 나눌 수 있다.
- 학습 프로세스에서 수집된 데이터는 훈련과 시험을 위한 두 개의 데이터 셋으로 분할된다. 데이터베이스에 있는 대부분의 데이터 레코드는 임의로 트레이닝을 위해 선택되며 나머지 데이터 레코드는 테스트에 사용된다.
- 이때, 의사결정나무의 형성 단계에서 분석의 목적과 자료 구조에 따라 적절한 분리기준과 규칙이 지정되며, 부적절한 추론규칙을 가진 가지는 제외된다. 평가 단계에서 이익도표, 위험도표 또는 검증용 자료에 의한 교차타당성 등을 이용하여 의사결정나무를 평가한다. 마지막 단계는 해석 및 예측하는 단계로 의사 결정나무를 해석하고 예측모형을 설정한다.
- 의사결정나무는 각각의 피처들로 이루어진 트리의 마디들을 루트에서부터 차례로 살펴보고, 마지막 마디에 도달하면 분류를 결정한다. 의사결정나무는 논리적 합(logical disjunction)의 집합으로 표현할 수 있으며, 이는 프로그램 구현을 용이하게 해준다.
참고문헌
https://dad-rock.tistory.com/714
곽주영, 윤현식. (2019) 머신러닝을 활용한 TV 오디션 프로그램의 우승자 예측 모형 개발 : 프로듀스 X 101 프로그램을 중심으로 지식경영연구.
강명진. (2020) 머신러닝을 활용한 SNS 가짜 팔로워 판별 방안 연구 : 중국 시나 웨이보를 (Sina Weibo)중심으로. 전자상거래학 석사학위논문
'WIDA > DACON 분류-회귀' 카테고리의 다른 글
[DACON/최다예] 분류 모델 알아보기 (0) | 2023.03.23 |
---|---|
[DACON/김세연] 분류 모델 알아보기 (0) | 2023.03.23 |
[DACON/김민혜] 분류 모델 알아보기 (1) | 2023.03.22 |
[DACON/김규리] 천체 유형 분류 대회를 위한 도메인 지식 알아보기 (0) | 2023.03.17 |
[DACON/최다예] 천체 유형 분류 대회를 위한 도메인 지식 알아보기 (0) | 2023.03.16 |