티스토리 뷰

Python/Library

cvxopt.solvers.qp

Lazyer 2017. 9. 12. 02:20

CVXOPT.solvers.qp

 

for Support Vector Machine

 

 

- Use

 

quadratic program을 위한 cvxopt.solvers.qp 함수를 이용하여 

 

Support Vector Machine을 구현할 때

 

Parameter들은 아래와 같이 매치된다.

 

 

 

 

 

 

 

 

n_samples, n_features = X.shape

K = linear_kernel(X)

 

X.shape = (180,2)

K.shape = (180,180)

y .shape = (180,)

 

1. P , q

 

 

CVXOPT minimize function

 

 

-> SVM의 목적함수

 

 

#Maximize Margin = Maximize L

#Maximize L = minimize -L

P = cvxopt.matrix(np.outer(y,y) * K)

q = cvxopt.matrix(np.ones(n_samples) * -1)

 

 

 

2. G, h

 

Inequality Constraint

 

 

-> SVM의 부등호 제약조건

 

 

 

링크 참고

 

 

3. A, b

 

Equality Constraint

 

 

-> SVM의 등호 제약조건

 

 

A = cvxopt.matrix(y, (1,n_samples))b  = cvxopt.matrix(0.0)

 

 

4. 함수의 반환값(solution['x'])으로 lambda를 구하고 라그랑주 승수법으로Support Vector 를 찾는다.

 

*참고

http://lazyer.tistory.com/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함