저작자표시-비영리-변경금지 2.0 대한민국 이용자는 아래의 조건을 따르는 경우에 한하여 자유롭게
l 이 저작물을 복제, 배포, 전송, 전시, 공연 및 방송할 수 있습니다. 다음과 같은 조건을 따라야 합니다:
l 귀하는, 이 저작물의 재이용이나 배포의 경우, 이 저작물에 적용된 이용허락조건 을 명확하게 나타내어야 합니다.
l 저작권자로부터 별도의 허가를 받으면 이러한 조건들은 적용되지 않습니다.
저작권법에 따른 이용자의 권리는 위의 내용에 의하여 영향을 받지 않습니다. 이것은 이용허락규약(Legal Code)을 이해하기 쉽게 요약한 것입니다.
Disclaimer
저작자표시. 귀하는 원저작자를 표시하여야 합니다.
비영리. 귀하는 이 저작물을 영리 목적으로 이용할 수 없습니다.
변경금지. 귀하는 이 저작물을 개작, 변형 또는 가공할 수 없습니다.
이학석사 학위논문
Double Hierarchical Generalized Linear Model for Support Vector Machine
SVM을 위한 다단계 일반화 선형모형
2015년 2월
서울대학교 대학원 통계학과
박 하 영
Double Hierarchical Generalized Linear Model for Support Vector Machine
지도교수 이 영 조
이 논문을 이학석사 학위논문으로 제출함 2014년 10월
서울대학교 대학원 통계학과
박 하 영
박하영의 이학석사 학위논문을 인준함 2014년 12월
위 원 장 박 병 욱 (인)
부위원장 이 영 조 (인)
위 원 이 상 열 (인)
Double Hierarchical Generalized Linear Model for Support Vector Machine
by
Ha-young Park
A Thesis
submitted in fulfillment of the requirement for the degree of
Master of Science in
Statistics
The Department of Statistics College of Natural Sciences
Seoul National University February, 2015
국 문초록
서울대학교 통계학과 대학원 박하영
서포트 벡터 머신(SVM)은분류,회귀문제의적용 및예측의 정확성과
다양한 자료의 적용 용이성을 가지고 있으며 특히 이진형 반응변수로 구 성된자료를분류하는 이진 분류 기법이다. 이는커널 함수를써서 비선형
분류문제에선형분류의기술을적용한다. SVM은확장차원의선형분류
후 원래 차원에서 이를 재구성한다.
다단계 일반화 선형모형(HGLM)은 고정효과뿐만 아니라 랜덤효과에
서도GLM 형태의 임의의 분포를 설정하여 분석을 실시할수 있는 확장된 선형모형기법이다. Lee와Nelder에의해제안된Double HGLM(DHGLM) 은랜덤효과의 평균과분산성분을 구체화시킬수있다. 따라서HGLM과 DHGLM을 통해 SVM을 표현할 수 있다.
논문에서는 먼저 SVM, HGLM 과 DHGLM 에 대해 요약 소개하였다.
다음으로 DHGLM을 활용한 새로운 분류 기법을 제시한다. 이를 기존의
SVM 분류 방법과 비교하고 그분석 알고리즘을 R script로수록하였다.
주요어 : 서포트 벡터 머신, 이중다단계 일반화선형 모형, 분류 기법
학번: 2013-20216
차 례
차 례 . . . i
표 차례 . . . ii
그림차례 . . . ii
제1장Support Vector Machine . . . 1
제2장Hierarchical Generalized Linear Models . . . 9
2.1. 다단계 일반화 선형모형(HGLMs) . . . 9
2.2. 다단계 우도함수(H-likelihood) . . . 10
제3장Double HGLMs . . . 12
3.1. DHGLMs 적합을 위한 H-liklihood . . . 13
제4장Classification with DHGLMs . . . 17
제5장Conclusion . . . 30
참고 문헌 31
표 차례
4.1 exp(−d∥x−x′∥2) kernel 모형 결과 . . . 21
4.2 (1+< x, x′ >)d kernel 모형 결과 . . . 26
그 림 차례
1.1 SVM의 개념 . . . 21.2 고차원으로의 변환 . . . 6
3.1 DHGLMs의 Estimation 구조 . . . 15
3.2 DHGLM에 대한 GLM 속성 . . . 16
4.1 자료 . . . 19
4.2 Radial kernel, d=0.1, λ= 100, α= 10 . . . 23
4.3 Radial kernel, d=0.1 λ= 0.1, α= 10 . . . 23
4.4 Radial kernel, d=1 λ= 10 α = 10 . . . 24
4.5 Svmpath, Radial kernel, d=1 λ= 10 . . . 24
4.6 Polynomial kernel, d=2 λ= 10 α = 5 . . . 27
4.7 Polynomial kernel, d=3 λ= 10 α = 5 . . . 27
4.8 Polynomial kernel, d=4 λ= 100 α = 10 . . . 28
4.9 Polynomial kernel, d=4 λ= 0.1α = 5 . . . 28
4.10 Svmpath, Polynomial kernel, d=4 λ= 1 . . . 29
제 1 장
Support Vector Machine
Support Vector Machine(SVM)은 2개의 범주를분류하는 이진 분류기
의 한종류이다. SVM은 이항 반응 변수의 두벡터를분리할때 각그룹에
속한 벡터 중 초평면(hyperplane)까지의 거리가 가장 가까운 벡터들이 먼
거리를 가지도록, 즉 Margin을 최대화시키는 두 개의 그룹으로 분류한다.
이 때, 다른 집단의 영역에 포함되는 벡터들을 고려하여 Slack variable을
생성한다. 또한 선형 분류가 힘들 때 kernel 함수 기법으로 고차원의 선형
경계를 만들어 저차원의 비선형 경계를 생성한다.
먼저 선형분리문제에 대해 생각해보면, 하나의 집합과 다른 집합을 세 밀하게 분류시킬 수 있는 최적의 분리 경계면을 찾아주는 것이다. 이러한 최적분리경계면은 훈련 벡터뿐 아니라각 집합 내숨어있는 벡터들또한 분류함을 말한다. 최적의 경계면, 즉 두 집합 사이를 통과하는 경계면을
hyperplane 으로 정의한다. 그리고 경계면 가장 가까이에 있는 벡터들을
support vector 라고 한다.
x,y를 자료 공간 내 N개의 벡터라 두자.
그림1.1: SVM의개념
(X1, Y1),(X2, Y2), . . . ,(XN, YN) Xi ∈Rp and yi ∈ {−1,1}
분리경계면의 하나로서 초평면은 다음과 같이 정의된다.
{x:f(x) = xTβ+β0 = 0}
여기서 β는weight coefficient vector이고, β0은 bias 항이다. ∥β∥= 1이고 분류기준은 이초평면을 중심으로,G(x) =sign(xTβ+β0)이다. (그림1.1)
제약조건 yi(xtβ+β0)> M, i=1,. . .,n에 대하여maxβ,β0C.
Support vector와 최적 초평면의 거리를 C = 1/∥β∥ 로 나타낼 수 있다. 훈련벡터 Xi와 초평면까지의 수직거리중 가장 큰 값을 margin이라고 하 며 다음과 같이 훈련자료들의 마진 C > 0를 최대화하는 유일한 초평면을
찾아준다. 즉, SVM의 해를 구하는것은 아래의다음과 같은블록 최적화
문제가 된다.
minimize βtβ
subejct to yi(xtβ+β0)≥1
1) Margin method
단, 위에서 언급한 식은 선형분리 가능한 집합에 대해서만 적용가능하 다. 그러나 이러한 벡터들을 완벽하게 분리하는 초평면을 찾기란 드물며
따라서 다른 집단의 영역에 포함되는 벡터들을 고려하여 Slack variable
ξ1, . . . , ξn을생성한다. 이 방법은제약조건을 다음과 같이 놓는다.
minβ,β0∥β∥
s.t ∀i, yi(xTiβ+β0)≥1−ξi, ξi ≥0, PN
i=1ξi ≤constant
ξ에대한제약식을계산의편의를위해다시표현하면합의형태로표현이
가능하다.
minβ,β0
1
2∥β∥2+CPN i=1ξi
s.t yi(xTi β+β0)≥1−ξi ∀i
C는 tuning parameter의 역할을 한다. C가 작아질수록 고려되는 점 (Support Vector)의 개수를 많이 잡게 된다. 라그랑지 승수법을 사용하여 βi, β0, ξi에 대해 문제를풀면,
Lp = 1
2∥β∥2+C
N
X
i=1
ξi−
N
X
i=1
αi[yi(xiβ+β0)−(1−ξi)]−
N
X
i=1
µiξi,
βˆ =
N
X
i=1
αiyixi, 0 = αiyi, ˆ
αi =C−µi,∀i,
대입하여 다음과 같이 나타낼 수 있다.
LD =PN
i=1αi− 12PN
i=1αiα′iyiy′ixTi x′i, 0≤αi ≤C,
PN
i=1αiyi = 0.
Kuhn-Tucker theorem에 따르면 추정하려는 변수들 βi, β0, ξi로 이루어진
공간의 안장점에서 아래와같이라그랑지승수와 조건식의 관계가 나타난 다.
αi[yi(xTi β+β0)−(1−ξi)] = 0 µiξi = 0 yi(xTi β+β0)−(1−ξi) ≥ 0
위조건식을만족하는값들은앞에서본ξi와Support Vector의관계를 만족하고, 유일한 해를 구하는 근거가 된다. 이제 Ld는 일반적 Convex Quadratic Programming으로 풀 수 있다.
2) Kernel method
Margin 은 선형분리의 확장이라 볼 수 있다. 그런데 대부분의 패턴은
선형적으로분리가 가능하지않다. 따라서비선형패턴을분리하기위하여 비선형 패턴의 입력공간을선형패턴의 feature space 로변환한다. Kernel method는 진정한비선형 경계면을찾는방법이다. 다음 아래의(그림1.2) 은 선형 분리되지 않는 예이다.
2차원공간이3차원으로 변환된다면 서로다른두 class vector는선형 적으로 분리되는 것을 볼 수있다. 입력벡터 xi 의 고차공간으로의 변환을 h(xi) 라고 하자.
그림 1.2: 고차원으로의 변환
K(x, x′) =< h(x), h(x′)>
feature space 내에서 분리경계면은 다음과 같다.
fˆ(x) =xTβˆ+ ˆβ0, βˆ=
N
X
i=1
αiyixi
⇒fˆ(x) =
N
X
i=1
αiyi < x, xi >+ ˆβ0
기저의 변환에 따라분류함수의 해는
fˆ(x) =
N
X
i=1
αiyi < h(x), h(xi)>+ ˆβ0
fˆ(x) =
N
X
i=1
υi < h(x), h(xi)>+ ˆβ0
로 나타낼 수있다.
Kernel 함수의예로는 다음과 같다.
d차 다항식 : (1+< x, x′ >)d 방사형 기저(Radial basis) : exp(−d∥x−x′∥2)
앞에서 구했던 SVM 최적화 조건식은다음과 같다.
minβ,β0
1
2∥β∥2+CPN i=1ξi
s.t yi(xTi β+β0)≥1−ξi ∀i
위 식의 두 번째 항은 misclassification에 대한 penalty 항이고, 상수 C는 두 번째 항의degree이다.
HGLM의 방법으로 이 문제에 접근하기 위해 먼저 이를 Loss+Penalty 형
태로변환한다.
f(xi) = xTi β+β0, Let C = 1/λ minβ,β0
1
2∥β∥2+C
N
X
i=1
ξi s.t yi(xTi β+β0)≥1−ξi ∀i,
↔ min
β,β0
1
λ[1−yif(xi)]++1 2∥β∥2
↔ min
β,β0
[1−yif(xi)]++λ 2∥β∥2
위식에서볼수있듯이SVM은Hinge loss + Ridge penalty형태로표현 가능하다.
Kernel K는Positive Semidefinite행렬이다. 그리고Reproducing Kernel Hilbert Space(RKHS)에 따라 Loss+Ridge penalty를 K의 행렬곱을 사용 해서표현하면, 다음과 같다.
minβ,β0
[1−yif(xi)]++λ
2vTKv.
제 2 장
Hierarchical Generalized Linear Models
다단계 일반화 선형 모형(HGLMs)은 널리 사용되는 모형인 일반화 선
형 모형(GLM)과 정규 선형 혼합 모형을 종합시켜 놓은 모형이다. Lee
와 Nelder 에 의해 제안된 HGLM 모형은 랜덤 효과의 분포 역시 지수족
분포로부터 임의 분포로 접합시킨 모형으로 GLM의 모형을 계층화 시킨 모형이다.
2.1. 다단계 일반화 선형모형 (HGLMs)
HGLM은 정규분포를 따르지 않는 다양한 분포의 자료에 대한 모형화 를 가능하게 하는 일반화 선형모형(Generalized Linear Models), 고정효과 와 랜덤효과를 가지는 선형 혼합 모형(Mixed Linear Models), 그리고 구 조화된 산포모형을 확장한 모형으로서 다단계 우도함수를 이용하여 모수 를 추정하고 모형의 적합성을 평가하는 모형이다.
반응변수y= (y1, y2, ..., yn)T 와관측되지않은랜덤성분u= (u1, ..., uq)T 에 대한 다단계 일반화 선형모형을 아래와 같이 정의할 수 있다.
(i)조건부랜덤효과u가주어진조건하에서, 반응변수y가GLM(Generalized
Linear Model)의 지수족(Exponential Family)의 분포를 따를 때, E(y|u) = µ and var(y|u) = ΦV(µ),
로그 우도 함수의 kernel 은 다음과 같이 주어진다. P(yθ−b(θ))/Φ,
여기서 θ =θ(µ) 는 정준 모수(canonical parameter)이다. 선형 예측 함수 (Linear Predictor)는 다음과 같은 형태를 갖는다.
η=g(µ) = Xβ+Zυ,
여기서 단조함수 υ()에 대해 υ =υ(u) 는 랜덤효과이고, β 는 고정효과이 다.
(2) 랜덤효과 u는 λ를 모수로 가지는 GLM 지수족의 conjugate 분포를 따른다.
2.2. 다단계 우도함수 (H-likelihood)
다단계 일반화 선형모형에 대한 우도함수의 근본으로 반응변수y와 랜 덤효과 u의 결합분포(joint density)에 대한우도함수를 다음과 같이 고려 할 수 있다.
L(u, y|β, φ, λ) =fβ,φ(y|v(u))fλ(u)
여기서fβ,φ(y|υ(u))는GLMs의지수족의분포에대한밀도함수이고, fλ(u)
는 모수 λ에 대한 랜덤효과 u의 밀도함수이다.
Lee 와 Nelder(1996)는 다단계 일반화 선형모형의 추론을 위해 결합분포 우도함수의 일부분을 사용하여 다음의 형태를 제안하였다.
L(υ, y|β, φ, λ) =fβ,φ(y|υ))fλ(υ)
이때 υ =υ(u)이다.
다단계 일반화 선형모형에 대한 로그우도함수(H-likelihood)는 다음과 같 다.
h= logf(y|υ) + logf(υ)
제 3 장
Double HGLMs
HGLM모형은 랜덤효과에다양한 모형을 추가적으로 설정함으로써 확 장시킬 수 있다. Lee와 Nelder 은 랜덤효과의 평균과 산포에 모형을 설정
하는 Double HGLM 의 모형을 소개하였다. 다단계 일반화 모형은 다음
세 가지 요소로 구성되는 이중 다단계 일반화 선형모형으로 확장되어진 다.
(1) 랜덤효과 (a, u)가 주어진 조건 하에서, 반응변수 y는 다음을 만족한 다.
E(y|a, u) =µ and var(y|a, u) =φV(µ)
(2) 랜덤효과 u가 주어진 조건 하에서, µ에 대한 선형 예측 함수(linear predictor)는 다음과 같은 HGLM 형태로 주어진다.
η=g(µ) =Xβ+Zυ
랜덤효과 u에 대한 산포 모수 λ는 다음과 같은 HGLM 형태를 갖는다.
ξm =hm(λ) =Gmγm
(3) 랜덤효과 a가 주어진 조건 하에서, φ에 선형 예측 함수(linear predic- tor)는 다음과 같은 HGLM 형태로 주어진다.
ξ =h(φ) =Gγ+F b
여기서 h()는 연결함수이며, G와 F는 model matrix이다. 임의의 단조함 수 gD()에 대해 b=gD(a)는 랜덤효과이고, γ는 고정효과이다. 랜덤효과 a에 대한 모수 α는 다음과 같은 GLMs형태를 갖는다.
φ에 대한 산포 모형(dispersion model)은 다음과 같은 HGLM 형태로 주 어진다.
ξD =hD(α) +GDγD
여기서 hD()는 GLM 연결함수이고, γD는 고정효과이다.
3.1. DHGLMs 적합을 위 한 H-liklihood
이중 다단계 일반화 모형(DHGLMs)에 대한 우도함수는 다음과 같이
표현할 수 있다.
L(υ, b, y|β, φ, λ, α) = fβ,φ(y|υ, b)fλ(υ)fα(b)
이중 다단계 일반화 모형(DHGLMs)로부터 추론을 위한 h-likelihood 형 태는 다음과 같다.
h=logf(y|υ, b;β, φ) +logf(υ;λ) +logf(b;α)
여기서 f(y|υ, b;β, φ), f(υ;λ) 와 f(b;α) 는 각각 (υ, b)가 주어졌을 때 y, υ, 그리고 b의 조건부 분포이다.
y의 Marginal liklihood Lυ,b은 적분을 통해 얻는다.
Lυ,b=log Z
exp(h)dυdb=log Z
expLυdb=log Z
expLbdυ
여기서 Lυ = logR
exp(h)dυ 과 Lb = logR
exp(h)db 이다. Marginal likli- hood Lυ,b 는 고정 모수에 대한 합리적인 추론 과정을 제공한다. 하지만,
일반적인 추론의 경우 관찰되지 않은 랜덤 모수 (υ, b) 에 대한 정보가 없
기 때문에 Lυ,b만으로는 충분하지 않다.
이에 따라 Lee 와 Nelder 은 DHGLMs 에 대한 평가 기준으로 (υ, β) 에 대한 h, (b, γ, γM)에 대한 pβ(Lυ) 그리고 γD에 대한 pβ,γ(Lb,υ)의 사 용을 제안하였다. (그림 3.1 참고)
그림 3.1: DHGLMs의 Estimation 구조
3.1.1 DHGLMs에 대한 GLMs 성분
h-likelihood 의사용은 서로 연결한GLMs 을 적합시킨다. 결론적으로, GLMs 은 DHGLMs 을 적합시키고 정의하기 위한 기본 building block 으
로의 역할을 한다. DHGLM 의 GLM 속성은 확장 모델의 전반적인 구조
를 보여주고 있다.(그림 3.2) 이제 고정 모수와 랜덤 모수 성분을 정의할 수 있다. 각 성분은 고유의 GLM 을 가지고 있으며 따라서 그 성분에 대 한 추론 과정의 확장은 수월하다.
그림 3.2: DHGLM에 대한 GLM 속성
제 4 장
Classification with DHGLMs
제1장에서구한SVM 추정식과 유사하게베르누이 분포의고정효과와 다변량정규분포와카이제곱분포의랜덤효과를 가지는Double H-likelihood 방식을 쓸 수 있다. 즉, 벡터 υυυ = (v1, v2,· · · , vn)와 점 w을 각각 랜덤변 수로 본다.
yi|v vbernoulli(pi) with the logit link,
v|wvM V N with µ= 0, precision =w∗K/λ wvχ2(α)/α
K =< x, x′ >
logit(pi) =β0+
N
X
j=1
Kijvj, H =f(y|v)f(v|w)f(w) h= logH =
N
X
i=1
[yilog pi
1−pi
+ log(1−pi)]− N
2log(2π) + w
2log(det(K λ))
−vTwK
2λ v −logΓ(α 2)− α
2log2 + (α
2 −1)logw−1 2w pv(h) =h− 1
2log|(∂2h/∂v2)/2π|
h는 h-loglihood이고, pv(h)는 adjusted profile loglihood이다. λ 와 α 는 SVM의 tuning parameter에 해당한다. 이제 h를 최대화하는 β0와 v, w 를 추정한다. 추정에는 IWLS와 Newton-Raphson method를 사용한다. 아래 과정을 수렴할 때까지 반복한다.
h로 wt 추정
→pw(h)로 v0(t) 추정
→pw,v(h)로 β0(t) 추정
→wt, vt와 β0(t) 업데이트 후 wt+1와 vt+1 추정
→pw+1,v+1(h)로 β0(t+1) 추정
다음 예제는 Hastie, T.(2008)가 제시한 자료이다. 자료의 각 변량들 은 평균과 분산이 다른 20개의 정규분포에서 10개씩의 랜덤 샘플을 뽑 았다. 초록색 점은 0-No , 붉은색 점은 1-Yes 를 나타낸다. Ngreen=100, Nred=100, 총 합으로 N=200 이다. 그림을 살펴 보면 군집을 잡을 수 있 지만 선형 분류 경계보다는 비선형 분류, 즉 곡선 분류 경계를 잡아야 할 것으로 보인다.
그림 4.1: 자료
모형의 적합성 판단은 두가지 지표를 통해 확인한다. 먼저, 각기 다른 색으로 오분류한 경우의 개수를 합한 값을 구한다. 두번째로 자료의 분포 를 알고 있는 랜덤 샘플임을 이용하여 오류가 난 영역의확률을 계산한다. 이 두 지표를 각각 Misclassification과 Test error로 명명한다.
지표 1 : Misclassification
=PN
i=1Iyˆi(yi) 지표 2 : Test error
=R
y=0P( ˆyi = 1|y= 0)P(y)dy+R
y=1P( ˆyi = 0|y= 1)P(y)dy Misclassification과 Test error가 작을수록 모형 적합성에 우수한 모형 이라고 판단한다.
Hinge loss를사용한SVM모형은Hastie, T.(2004)의Svmpath R pack- age를 사용하여 적합시켰고, DHGLM방식의 모형과 비교하였다.
먼저 Radial kernel(exp(−d∥x−x′∥2))을 설정하고 각 d와 tuning pa- rameter λ와 α 의 수준을 다르게 하여 모형을 추정한다.
표 4.1: exp(−d∥x−x′∥2) kernel 모형 결과 Mis
d λ α Test error classifi -cation 5 0.1 5 0.2318275 32 5 0.1 10 0.2645054 42 5 0.1 15 0.2976986 54
5 1 5 0.2318275 32
5 1 10 0.2642003 42 5 1 15 0.2895241 51 5 10 5 0.2318275 32 5 10 10 0.2594773 38 5 10 15 0.2808273 47 5 100 5 0.2316017 32 5 100 10 0.247418 35 5 100 15 0.2560498 38 1 0.1 5 0.2562493 20 1 0.1 10 0.2325687 24 1 0.1 15 0.2598554 46
1 1 5 0.2562492 20
1 1 10 0.2325687 24 1 1 15 0.2222692 30 1 10 5 0.2562476 20 1 10 10 0.233579 24 1 10 15 0.2228105 31 1 100 5 0.2569239 20 1 100 10 0.235848 25 1 100 15 0.2279122 27
Mis d λ α Test error classifi
-cation 0.5 0.1 5 0.2871367 9 0.5 0.1 10 0.2720498 13 0.5 0.1 15 0.2317172 30
0.5 1 5 0.2871358 9
0.5 1 10 0.2720485 13 0.5 1 15 0.2436525 20 0.5 10 5 0.2871358 9 0.5 10 10 0.2720485 13 0.5 10 15 0.2447202 20 0.5 100 5 0.2875794 9 0.5 100 10 0.2726868 13 0.5 100 15 0.2484666 20 0.1 0.1 5 0.3224057 1 0.1 0.1 10 0.2399127 22 0.1 0.1 15 0.2404966 22
0.1 1 5 0.3222437 1
0.1 1 10 0.3138546 1 0.1 1 15 0.3048094 2 0.1 10 5 0.3222752 1 0.1 10 10 0.3139973 1 0.1 10 15 0.3049315 2 0.1 100 5 0.3226403 1 0.1 100 10 0.3142278 1 0.1 100 15 0.3054905 2
표 4.1에서 확인해보면 d=0.1 일 때 대체적으로 Misclassification이 작 은 걸 알 수 있다. 그러나 그림 4.2에서 보면 부드럽지 않은 분류 경계가
보이고 이런 이유로 Test error가 다른 수준보다 크므로 좋은 모형이라 볼
수 없다. 또, 그림 4.3에서 보이듯이 λ가 작아질수록 부드러운 분류경계 가 나타나고 test error도 작아진다. 표 4.1에서 확인해 보면 좋은 모형은 d=1 λ = 10 α= 10인 모형임을 알 수 있다. Hastie, T.(2008)는 λ가 1인 모형을 선택했다. 둘의 그래프를 비교해 보면 그림 4.4, 그림 4.5와 같이 매우 유사함을 볼 수 있다.
그림 4.2: Radial kernel, d=0.1, λ= 100, α= 10
그림 4.3: Radial kernel, d=0.1 λ= 0.1, α= 10
그림 4.4: Radial kernel, d=1 λ= 10 α= 10
그림 4.5: Svmpath, Radial kernel, d=1 λ= 10
다음으로 다항식 커널((1+ < x, x′ >)d)을 설정하고 각 d와 tuning parameter λ, α 의 수준을 다르게 하여 모형을 추정한다. 그림 4.6과 그림 4.7은 다항식의 모수 d를 각각 2와 3으로 설정한 경우이다. 다른 그림과 비교해보면 Kernel에 따른 분류경계의 차이를 알 수 있다. 그림 4.7의 d 가 4이고 λ가 100, α가 10 인 경우 misclassification이 가장 작다. Test
error도 작기 때문에 잘 분류되었다고 생각할 수 있다. 마지막으로 가장
Test error가 작은 d=4, λ = 0.1, α = 5 의 그림 4.8과 Hastie의 모형을 비교해 보면 경계의 끝 부분에서 다른 모양을 확인할 수 있다.
표 4.2: (1+< x, x′ >)d kernel 모형 결과 Mis
d λ α Test error classifi -cation 2 0.1 5 0.3004207 54 2 0.1 10 0.2870638 58 2 0.1 15 0.2924636 58
2 1 5 0.2999311 55
2 1 10 0.2876123 52 2 1 15 0.2855736 55 2 10 5 0.3001974 55 2 10 10 0.2988266 55 2 10 15 0.2996026 55 2 100 5 0.2977386 58 2 100 10 0.2972669 57 2 100 15 0.2979091 57 3 0.1 5 0.2960699 57 3 0.1 10 0.2830656 53 3 0.1 15 0.281392 51
3 1 5 0.2989034 57
3 1 10 0.2934146 56 3 1 15 0.2912025 53
Mis d λ α Test error classifi
-cation 3 10 5 0.3001437 56 3 10 10 0.2987388 56 3 10 15 0.2978981 57 3 100 5 0.2980456 56 3 100 10 0.2992251 56 3 100 15 0.2993807 56 4 0.1 5 0.2615165 39 4 0.1 10 0.2743995 53 4 0.1 15 0.2786451 52
4 1 5 0.261665 40
4 1 10 0.2647649 43 4 1 15 0.2693728 49 4 10 5 0.2625633 39 4 10 10 0.2616152 39 4 10 15 0.2619986 39 4 100 5 0.2627869 39 4 100 10 0.2627426 38 4 100 15 0.2623767 39
그림 4.6: Polynomial kernel, d=2 λ= 10 α = 5
그림 4.7: Polynomial kernel, d=3 λ= 10 α = 5
그림 4.8: Polynomial kernel, d=4 λ= 100 α = 10
그림 4.9: Polynomial kernel, d=4 λ= 0.1 α= 5
그림 4.10: Svmpath, Polynomial kernel, d=4 λ = 1
제 5 장
Conclusion
DHGLM 모형 classification을 수행한 결과 kernel의 형태에 따라 분류 경계의 모양이 큰 차이를 나타내는 것을 볼 수 있다. Radial kernel 의 경 우, d의 수준이 작아질수록 Misclassification은 작게 나오지만 Test error 가 크게 나온다. λ의 변화에는 Misclassification의 큰 변화는 없지만 부드 러운 분류경계가 나타남을 알 수 있다. 또한 α가 작을수록 misclassifica- tion과 Test error 모두 작게 나옴을 알 수 있다. 또한 Polynomial kernel 의 경우 d의 수준 변화에 따라 분류 경계의 형태가 크게 변하는 것을 볼 수 있다. 반면 λ와 α의 수준 변화에는 큰 차이를 나타내지 않는다.
SVM은 Hinge loss + Ridge penalty 형태로 나타내어진다. DHGLM 모형은 이것과 두가지 차이점을 지니고 있다. 첫째 Loss가 Binomial이다. 둘째, 각 벡터와 점을 랜덤변수로 본다. 즉 normal 랜덤 효과와 카이제곱 랜덤 효과를 설정한다. 이와같이 작성한 DHGLM 모형을 SVM과 비교하 면 Test Error와Misclassification을 고려해서 정한 분류 경계의형태가 끝 점에서 SVM이 조금 더 좋음을 볼 수 있다. 향후 DHGLM 모형의 Loss에 변화를 주어가며 모형을 찾아나가는 작업을 한다면 분류의 질 향상이 기 대된다.
참고 문헌
Lee, Y., A.Nelder, J. and Pawitan, Y (2006). Generalized linear models with random effects. Chapman and Hall/CRC, 396. Hastie, T., Tibshi- rani, R. and Friedman, J. (2008). The elements of statistical learning.
Springer series in statistics, 24, 625-648.
”Support Vector machine and kernel method”, Pattern informa- tion processing(2002 Autumn Semester)Session 12, 2003.
Steve Gunn, ”Support Vector Machine for Classification and Re- gression”,ISIS Technical report, university of Southampton,1998.
Cortes, C., Vapnik, V. (1995). Support-Vector Networks. Machine Learning, 20, 273-297.
Wahba, G., Lin Y., Zhang H. (2000). Generalized Approximate Cross Validation For Support Vector Machines, Or, Another Way To Look At Margin Like Quantities, submitted for publicaion.
Hastie, T., Tibshirani, R., Rosset, S., Zhu, Ji. (2004). The Entire Regularization Path for the Support Vector Machine . The Journal of Machine Learning Research, 5, 1391-1415.
Abstract in English
The statistical classification is widely used in every area of studies and industries. Support Vector Machine(SVM) is classifier which can be ap- plied to the case of regression and has the advantage of accuracy of predic- tion and data accessibility, especially for a data having binary responses.
This leads onto mapping the input into a higher dimensional feature space by a suitable choice of kernel function.
Hierarchical generalized linear model(HGLM) proposed by Lee and Nelder is a linear model method that sets various distributions to fixed and ran- dom effect. Furthermore, Double HGLMs(DHGLM) introduced by Lee and Nelder is a model in which random effects can be specified in both the mean and the dispersion components. Thus SVM can be treated as HGLM and DHGLM.
This thesis first introduces SVM, HGLM and DHGLM. Second, it sug- gests new classifier using DHGLM. Then it compares new one and exist- ing SVM classifier, includes computing algorithm R script.
Key words : Support vector machine, SVM, Double Hierarchical Gen- eralized linear model, DHGLM, classifier
Serial Number : 2013-20216
부록
# foreign 패키지 필요#
install.packages(“foreign”) library(foreign)
data.restore(“C:/mixture.example.data”,print=T) xy=cbind(data$x,data$y)
green=xy[xy[,3]==0,]
red=xy[xy[,3]==1,]
plot(xy)
points(green,col=“green”) points(red,col=“red”)
str(data)
# Bernoulli model with gaussian random effects # library(foreign)
data.restore(“C:/mixture.example.data”,print=T)
K.value <-function(x1,x2,type, d){ if (type==“poly”){
K.value<-(1+sum(x1*x2))∧d
}
if (type==“radial”){
K.value <- exp(-sum((x1-x2)∧2)/d) }
K.value }
K.mat<-function(X, type, d){ n<-dim(X)[1]; p<-dim(X)[2]
K.matrix<-matrix(0,n,n) for ( i in 1:n){
for ( j in 1: i){ x1<-X[i,]; x2<-X[j,]
K.matrix[i,j]<-K.matrix[j,i]<-K.value(x1,x2,type,d) }
}
K.matrix }
svm.logistic<-function(y,X, lam=1, alpha=3, type=“radial”, d=1){ Kmat<-K.mat(X,type=type, d=d)
b0<-0; v<-rep(0,N); lam<-lam; alpha<-alpha;
econv<-1 econvb0<-1
while ( econv>1e-03){ eta<-b0 + Kmat%*%v P<-exp(eta)/(1+exp(eta))
w.hat<-as.numeric((alpha-1)/(1+t(v)%*%Kmat%*%v/lam)) dhdv<-t(Kmat)%*%(y-P) - w.hat*(Kmat%*%v/lam)
W<-diag(c(P*(1-P)))
hess<-t(Kmat)%*%W%*%Kmat + w.hat*Kmat/lam v.old<-v
v<-v.old + solve(hess+ 0.01*diag(1,N))%*%dhdv
while ( econvb0>1e-03){ if (econv<10){
eta<-b0 + Kmat%*%v P<-exp(eta)/(1+exp(eta))
dWdb0<-diag(c( P*(1-P)*(1-2*P) ))
dhdb0<-sum(y-P)-sum(diag(solve(hess+0.01*diag(1,N)) %*%(t(Kmat)%*%dWdb0%*%Kmat)))
hessb0<-sum(P*(1-P))
b0.old<-b0
b0<-b0.old + dhdb0/hessb0
econvb0<-abs(dhdb0) print(c(“b0”,econvb0)) }
}
econv<-max(abs(dhdv)) print(c(“v”,econv)) }
# y hat #
eta.hat<-b0 + Kmat%*%v
y.hat<-exp(eta.hat)/(1+exp(eta.hat)) return(list(b0=b0, v=v, Kmat=Kmat)) }
# Run #
result=c(0,0,0,0) d.svm=4
lam=100 alpha=5
type.svm<-“radial”
#type.svm<-“poly”
y<-as.numeric(data$y)
N<-length(y) X<-data$x
h.svm<-svm.logistic(y,X, lam=lam, alpha=alpha, type=type.svm, d=d.svm) v<-h.svm$v; b0<-h.svm$b0; Kmat<-h.svm$Kmat;
# y estimate # predH=c(0) for(i in 1:6831){ newx=data$xnew[i,]
eta.pred<-b0 for (k in 1:N){
eta.pred<- eta.pred + K.value(newx, X[k,], type=type.svm, d=d.svm)*v[k]
}
predH[i]<-exp(eta.pred)/(1+exp(eta.pred)) }
test.error<-sum(data$marginal*(data$prob*I(predH<1/2) +(1-data$prob)*I(predH>=1/2)))
predH=c(0) mis=0
for(i in 1:200){ newx=data$x[i,]
eta.pred<-b0 for (k in 1:N){
eta.pred<- eta.pred + K.value(newx, X[k,], type=type.svm, d=d.svm)*v[k]
}
predH<-exp(eta.pred)/(1+exp(eta.pred)) if(predH<1/2 & data$y[i]==1){mis=mis+1} if(predH>=1/2 & data$y[i]==0){mis=mis+1} }
result=rbind(result,c(d.svm,lam,alpha,test.error,mis)) result
result=result[-1,]
result
#Graphic n.grid<-20
x1<-seq(-3,4,,n.grid) x2<-seq(-2, 3,, n.grid)
y.pred<-matrix(0,n.grid,n.grid)
for ( i in 1:n.grid){ for (j in 1:n.grid){
newx<-c(x1[i], x2[j]) eta.pred<-b0
for (k in 1:N){
eta.pred<- eta.pred + K.value(newx, X[k,], type=type.svm, d=d.svm)*v[k]
}
y.pred[i,j]<-exp(eta.pred)/(1+exp(eta.pred)) }
}
x.lim<-c(min(X[,1])*1.1, max(X[,1])*1.1) y.lim<-c(min(X[,2])*1.1, max(X[,2])*1.1)
plot(X[y==0,2] X[y==0,1], col=“green”, xlim=x.lim, ylim=y.lim, xlab=“X1”, ylab=“X2”)
lines(X[y==1,2] X[y==1,1], col=“red”,type=“p”) contour(x1,x2,y.pred, levels=1/2, add=T)