Python 混淆;双系数;一类支持向量机的研究

Python 混淆;双系数;一类支持向量机的研究,python,scikit-learn,svm,libsvm,Python,Scikit Learn,Svm,Libsvm,我读过sklearn中提供的“估计高维分布的支持度”一文 我注意到双变量有一个约束∑_iα_i=1 但是当我试图调用apiclf.\u dual\u coef.时,我发现clf.\u dual\u coef.的和不会是1 我有没有遗漏任何细节 谢谢结果 对于一类SVM,解决了一个标度问题,即每个α_i乘以(ν)ℓ), 其中,ν是超参数,且ℓ 是实例数。因此约束变成α_i≤1及∑_iα_i=νℓ. 理由 第2.3节 与ν-SVC的情况类似,在LIBSVM中,我们解决了(7)的缩放版本 其中在第2

我读过sklearn中提供的“估计高维分布的支持度”一文

我注意到双变量有一个约束∑_iα_i=1

但是当我试图调用api
clf.\u dual\u coef.
时,我发现
clf.\u dual\u coef.
的和不会是1

我有没有遗漏任何细节

谢谢

结果 对于一类SVM,解决了一个标度问题,即每个α_i乘以(ν)ℓ), 其中,ν是超参数,且ℓ 是实例数。因此约束变成α_i≤1及∑_iα_i=νℓ.


理由 第2.3节

与ν-SVC的情况类似,在LIBSVM中,我们解决了(7)的缩放版本

其中在第2.2节(ν-支持向量分类)中引用

在LIBSVM中,我们解决了问题(5)的一个缩放版本,因为由于约束条件αi,数值上的αi可能太小≤1/ℓ.

因此对于一类SVM,LIBSVM解决了一个比例问题,因为数值上的αi可能由于约束αi而太小≤1/(νℓ).


验证 具体地说,因为问题是关于sklearn的,所以我修改了中的代码以确认想法,尽管根据我的理解,在后端使用LIBSVM

from sklearn.svm import OneClassSVM
from sklearn.datasets import load_boston

X = load_boston()['data'][:, [8, 10]]
clf = OneClassSVM(nu=0.261, gamma=0.05)
clf.fit(X)

print(clf.nu*X.shape[0])
print(clf._dual_coef_.sum())
给予

结果 对于一类SVM,解决了一个标度问题,即每个α_i乘以(ν)ℓ), 其中,ν是超参数,且ℓ 是实例数。因此约束变成α_i≤1及∑_iα_i=νℓ.


理由 第2.3节

与ν-SVC的情况类似,在LIBSVM中,我们解决了(7)的缩放版本

其中在第2.2节(ν-支持向量分类)中引用

在LIBSVM中,我们解决了问题(5)的一个缩放版本,因为由于约束条件αi,数值上的αi可能太小≤1/ℓ.

因此对于一类SVM,LIBSVM解决了一个比例问题,因为数值上的αi可能由于约束αi而太小≤1/(νℓ).


验证 具体地说,因为问题是关于sklearn的,所以我修改了中的代码以确认想法,尽管根据我的理解,在后端使用LIBSVM

from sklearn.svm import OneClassSVM
from sklearn.datasets import load_boston

X = load_boston()['data'][:, [8, 10]]
clf = OneClassSVM(nu=0.261, gamma=0.05)
clf.fit(X)

print(clf.nu*X.shape[0])
print(clf._dual_coef_.sum())
给予