Search

직선과 점의 거리

Created at
2018/11/21
Updated at
Tags
Keywords
3 more properties
직선과 점의 거리는 분류 알고리즘인 서포트 벡터 머신(SVM: Support Vector Machine) 과 관련해 알아두어야 할 부분이다.

1. 직선의 방정식

어떤 벡터 ww가 있을 때, 다음의 조건을 만족하는 직선 xx의 방정식 (1) 벡터 ww와 수직 (2) 벡터 ww가 가리키는 점을 지남
벡터 xx가 해당 직선 위의 한 점일 때, 벡터 xx가 가리키는 점과 벡터 ww가 가리키는 점을 이은 벡터 xwx-w가 벡터 ww와 직교해야 함을 이용하여 풀이
wT(xw)=0w^T(x-w) = 0
wT(xw)=wTxwTw=wTxw2\begin{aligned} w^T(x-w) & = w^Tx-w^Tw \\ & = w^Tx-\Vert w \Vert^2 \\ \end{aligned}
wTxw2=0w^Tx-\Vert w \Vert^2 = 0
e.g. w=[3 1]w= \begin{bmatrix} 3 \\\ 1 \end{bmatrix}일 경우 ww를 수직으로 지나는 직선의 방정식
[31][x1 x2]=3x1+x210=0\begin{bmatrix} 3 & 1 \end{bmatrix}\begin{bmatrix} x_1 \\\ x_2 \end{bmatrix} = 3x_1 + x_2 -10 = 0
3x1+x2=103x_1 + x_2 = 10
조건을 한 가지로 줄여 단순히 벡터 ww에 수직인 직선의 방정식은 다음과 같이 나타냄
wTxw0=0w^Tx- w_0 = 0
w0w_0: 원점으로부터 직선에 내린 수선의 길이의 제곱
w0=0w_0 = 0 이면 원점을 지나는 직선의 방정식
이 직선과 원점 사이의 거리: w0w\dfrac{w_0}{\Vert w\Vert}

2. 직선과 점의 거리

직선 wTxw2=0w^Tx-\Vert w \Vert^2 = 0 과 직선 위에 있지 않은 점 xx' 사이의 거리:
xwx'^{\Vert w} 의 길이와 w\Vert w \Vert의 차이 (점이 직선의 안쪽에 있을 수도, 바깥쪽에 있을 수도 있으므로 절대값을 취함)
xx'의 프로젝션 벡터의 길이: xw=wTxw\Vert x'^{\Vert w}\Vert = \dfrac{w^Tx'}{\Vert w\Vert}
d=xww=wTxww=wTxw2w\begin{aligned} d & = \left| \Vert x'^{\Vert w}\Vert - \Vert w \Vert \right| \\ & = \left| \dfrac{w^Tx'}{\Vert w \Vert} - \Vert w \Vert \right| \\ & = \dfrac{\left|w^Tx' - \Vert w \Vert^2 \right|}{\Vert w \Vert} \\ \end{aligned}
직선의 방정식이 wTxw0=0w^Tx - w_0 = 0 인 경우 직선과 점의 거리
d=wTxw0wd = \dfrac{\left|w^Tx' - w_0 \right|}{\Vert w \Vert}
참고 자료