발표제안1

Download Report

Transcript 발표제안1

Collective Intelligence / Chapter 9
Advanced Classification
Dept. Computer Science and Information
Korea University
Written by 정 훈 승
챕터 소개
♠ 본 챕터에서는 온라인 데이트 사이트에서 사람들을 중매하거나
전문가의 연락처를 검색하는 데 SVM 기법을 적용해본다.
♠ SVM(Support-vector machines)이란?
복잡한 데이터 세트를 특정 알고리즘에 적용하는 방법이다.
※ 우리말로 표현하자면 “지지벡터머신”
목
차
1
중매 데이터 세트
2
데이터를 다루는 어려움
3
기본 선형 분류
4
분류 데이터의 특성
5
데이터 축척 조성
6
커널 기법 이해
7
지지벡터머신(SVM)
중매 데이터 세트
♠ 중매 사이트에서 아래와 같은 정보를 수집하고 있다고 가정
: 나이, 흡연 여부, 자녀 희망, 관심 목록, 거주지
♠ 앞으로 두 변수만 다루면 시각화가 용이하기 때문에 분류기가 동작
하는 방법을 예시하는 데 나이 정보만 사용할 것이다.
데이터를 다루는 어려움
(1/4)
♠ 중매 데이터 세트는 비선형(nonlinearity) 특성과 변수간 상호
작용(interplat) 특성이란 두 가지 양상을 가진다.
산포도(scatter plot)를 만드는 메소드
데이터를 다루는 어려움
[Figure 9-1]
나이 대 나이 산포도
가로축이 남자
세로축이 여자
●(동그라미) 표시가
궁합이 좋은 것
+(십자가) 표시가
좋지 않은 것
(2/4)
데이터를 다루는 어려움
(3/4)
♠ 의사결정트리 분류기
의사결정트리 : 각 질문에 대답 하면서 트리 내 경로를 따라 내려가면 해답에
이르는 방법
[Figure 9-2]
곡선 경계를 가진
의사결정 트리
← No
|
No Match
[Figure 9-3]
의사결정 트리로
생성한 경계
Yes
데이터를 다루는 어려움
(4/4)
기본 선형 분류
(1/4)
♠ 앞으로의 작업에 대비한 출발점
각 범주(class) 내 모든 데이터들의 평균을
찾고 그 범주의 중앙을 나타내는 점을
만드는 방식으로 동작한다. 그런 후 중앙
점(center point)이 가장 근접한지 판단
하여 새로운 점을 분류한다.
↗
이 점의 범주를 구함
이 점을 평균에 더함 →
각 범주(class) 내의 점 개수를 추적함 →
점 개수로 나눠 평균을 구함 →
기본 선형 분류
(2/4)
[Figure 9-4]
평균을 이용한
선형 분류기
x
x
X는 계산된 평균점을
나타내고
두 X들 사이에는
데이터를 나누는
선이 있다.
선 왼쪽은 불일치
오른쪽은 일치에
가깝다고 할 수 있다.
기본 선형 분류
(3/4)
♠문제점
이런 접근 방식은 [Figure 9-4]와 같은 접근방식에는 잘 동작하지만, 추후 확장을
고려하여 벡터(vector)와 벡터내적(dot-product)을 사용하는 다른 방식을 취한다.
♠ 벡터(vector) 방법
한 점에서 다른 점을 빼서 두 점을 결합하는 벡터를 만드는 방법
[Figure 9-5] 벡터의 예
기본 선형 분류
(4/4)
♠ 벡터내적 방법
첫 번째 벡터 값을 두 번째 벡터 해당 값으로 각각 곱하고 모두 더해 두 벡터에서
한 개의 숫자를 만든다.
[Figure 9-6] 거리 계산에 이용된 벡터내적
각도가 90도보다 크면 코사인은 음수 값이 된다.
↓범주를 찾는 공식
분류 데이터의 특성
♠ 분류 데이터를 숫자형으로
분류기들이 숫자 데이터만을 처리하기 때문에 숫자형으로 바꿀 방법이 필요하다.
♠ Yes / No 질문
Yes를 1로, No를 -1로 바꿀 수 있기 때문에 숫자로 바꾸기 가장 쉬운 질문이다.
♠ 관심 목록
간단한 방법 : 관심을 가지면 0, 관심을 갖지 않으면 1로 간주하는 방법이다.
직관적인 방법 : 공통 관심의 수를 사용한다.
공통 관심의 수는 정보가 사라지는 단점이
있다. 이것의 대안은 관심을 계층으로 배열
하는 것이다.
예) 스키, 스노우보드 → 겨울 스포츠
데이터 축척 조정
♠ 새로운 변수 도입
사람의 나이만을 비교할 때는 데이터를 있는 그대로 두고 평균이나 차이를 구해도
괜찮았지만 값이 너무 작아 나이와 직접 비교하기 어려운 새로운 변수를 도입하는
경우에는 다르다.
♠ 해결방안
모든 변수 간의 차이를 비교할 수 있도록 최저값과 최고값을 결정하고,
- 최저값을 0으로
- 최고값을 1로
- 그리고 다른 값을 0과 1사이의 값으로 비율을 조정
커널 기법 이해
[Figure 9-7] 다른 범주를 내포한 범주 모습
(1/2)
[Figure 9-8] 점들을 다른 공간으로 이동한 예
[Figure 9-7]에서 x와 y값을 제곱한 결과
점을 변환하여 직선으로 분할될 수 있는 데이터 세트를 생성할 수 있음을 보여줌
커널 기법 이해
(2/2)
♠ 커널 트릭
벡터내적 함수를 마치 먼저 데이터를 특정 사상함수(mapping function)를 사용해서
고차원 공간으로 변환한 후 벡터내적 결과를 반환하는 새로운 함수로 대치
♠ 변환 가능수
변환 가능수에는 제한이 없지만 실제 사용되는 것은 몇 개 밖에 없다.
♠ 방사 함수(radial-basis function)
벡터내적과 비슷해서 두 벡터를 받아 값을 반환한다.
지지벡터머신(SVM)
[Figure 9-9] 선형 평균 분류기와 잘못 분류된 점들
(1/2)
[Figure 9-10] 최적 구분선 찾기
[Figure 9-9]에서 평균을 사용해서 계산된 구분선이 데이터에 비해 선에 너무 근접해 있는
두 점을 잘못 분류했다.
[Figure 9-10]은 각 범주 내 항목들에 걸친 평행선 중에 가장 멀리 떨어진 선을 구분선으로
선택해서 새로운 데이터 점이 어떤 범주에 속하는지 판단할 수 있다.
지지벡터머신(SVM)
(2/2)
♠ 지지벡터
각 범주(class)에서 가능한 멀리 떨어진 선을 찾아 해결하려고 시도하는 최대 허용평면
♠ 지지벡터머신
지지벡터를 찾아 이들을 이용해서 구분선을 찾는 알고리즘
♠ 응용사례
-
얼굴표현 분류
국방 데이터 세트를 사용한 침입 탐지
단백질 순열 내의 단백질 구조 예측
필기체 인식
지진 발생시 피해 규모 판단
Do you have questions?