SKLEARN LINEARSVC 라이브러리의 페널티 및 손실 매개 변수의 차이점
-
21-12-2019 - |
문제
나는 SVM 이론에 익숙하지 않으며이 linearsvc 클래스를 파이썬에서 사용하고 있습니다 :
http : // scikit-Learn.org/stable/modules/generated/sklearn.svm.linearsvc.html#sklearn.svm.linearsvc
나는 벌금과 손실 매개 변수의 차이점이 무엇인지 궁금해하고 있었습니까?
해결책
기계 학습, 손실 함수 솔루션의 품질을 측정하는 동안 페널티 기능 은 해당 솔루션에 대한 제약 조건을 부과합니다.
특히, x 을 데이터가되도록하자, y 은 데이터의 레이블이되어야한다. 그런 다음 손실 함수 v (f (x), y) 은 모델 f 의 모델을 레이블에 매핑하는 방법을 측정합니다. 여기서 f (x)는 예측 된 레이블의 벡터입니다. L1 및 L2 규범은 일반적으로 사용되며 직관적으로 이해되는 손실 기능 ( * 참조). l1 norm : V(f(X),y) = |f(x1) - y1| + ... + |f(xn) - yn|
, 여기서 f (xi) - i 번째 객체의 예측 된 레이블이고, 이순신은 실제 레이블입니다. l2 norm : V(f(X),y) = sqrt(|f(x1) - y1|^2 + ... + |f(xn) - yn|^2)
, sqrt는 squate root입니다.
페널티 기능 에 대해서는 f 에 대한 R(f)=|f1| + ... + |fm|
일 수 있고 유사하게 L2 표준을 정의 할 수 있습니다. 여기서, F1, ..., FM 은 모델의 계수이다. 처음에는 그 (것)들을 알지 못하면, 이것들은 기계 학습 알고리즘에 의해 데이터에서 배울 수있는 값이다.
결국 전체 비용 함수는 V(f(X),y) + lambda*R(f)
입니다. 목표는 비용 기능을 최소화하는 F를 찾는 것입니다. 그런 다음이 F는 새로운 보이지 않는 객체에 대한 예측을하는 데 사용됩니다. 왜 페널티 기능이 필요합니까? 꺼지고, 페널티 기능이 솔루션에 좋은 속성을 추가 할 수 있습니다. 예를 들어, 기능이 너무 많으면 L1 표준은 스파 스 솔루션을 생성하여 감염을 방지하는 데 도움이됩니다.
* 지원 벡터 기계가 작동하는 방법은 정확히 일치하지 않지만 이러한 용어가 의미하는 것에 대한 아이디어를 제공 할 수 있습니다. 예를 들어, SVM에서는 L1 힌지 손실 및 L2 힌지 손실 기능이 사용됩니다. l1-hinge :
V(f(X),y) = max(0,1 - y1*f(x1)) + ... + max(0,1 - yn*f(xn))
및 L2는 유사하지만 제곱 된 용어와 비슷합니다. Andrew NG의 기계 학습 클래스에서 ML에서 ML에 대한 좋은 소개를 찾을 수 있습니다