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 를 찾는다.
*참고