파이썬 으로 전체 SVM 구현 을 작성하려고하는데 Lagrange 계수 계산에 몇 가지 문제가 있습니다.
먼저 알고리즘에서 이해 한 내용을 바꾸어 올바른 길을 가고 있는지 확인하겠습니다.
경우 엑스1, x2, . . . , x엔 은 데이터 세트이고 와이나는∈ { − 1 , 1 } 은 의 클래스 레이블입니다 엑스나는. 그런 다음
∀ I , Y나는( 승티엑스나는+ b ) ≥ 1
최적화 문제를 해결하기 위해
∥ w ∥2
대상와이나는( 승티엑스나는+ b ) ≥ 1
Lagrange 계수 측면에서 이는 , 및 및 최소화하는 것으로 .B α = ( α 1 , α 2 , . . . α N ) ≠ 0 ≥ 0 L ( α , W , B ) = (1)승비α = ( α1, α2, . . . α엔) ≠ 0≥ 0
L(α,w,b)=12∥w∥2−∑αi(yi(wT엑스+b)−1)
이제 및 우리는 그것을 로 제한 조건∂ L
∂엘∂승= 0⟹w=∑αiyixi
L ( α , w , b ) = Q ( α ) = ∑ α i − 1∂엘∂비= 0⟹∑ y나는α나는= 0
L ( α , w , b ) = Q ( α ) = ∑ α나는− 12∑ ∑ α나는α제이와이나는와이제이엑스티나는엑스제이
α나는≥ 0 및 ∑ α 나는와이나는= 0
그래서 파이썬을 사용하여 최적화 문제를 해결하려고하는데 찾을 수있는 유일한 무료 패키지는 cvxopt 입니다.
이 문제를 해결하는 데 도움이 필요합니다. 이에 대한 좋은 예를 찾을 수 없었습니다. 이론을 이해하는 동안 코드로 변환하는 데 어려움을 겪고 있습니다. 프로그래밍 배경에서 더 많은).
어느 시점에서 나는 커널 하지만 코드 에서이 문제를 해결하는 데 어떤 영향이 있는지 잘 모르겠습니다.
L ( α , w , b ) = Q ( α ) = ∑ α나는− 12∑ ∑ α나는α제이와이나는와이제이케이( x나는, x제이)
어떤 도움이라도 대단히 감사하겠습니다. 파이썬에서 이것을 구현하는 방법에 대해서는 정말로 빠져 있습니다. 최적화 문제를 해결할 더 나은 모듈이 있다면 그것에 대해서도 읽어보고 싶습니다.