Python 混淆;双系数;一类支持向量机的研究
我读过sklearn中提供的“估计高维分布的支持度”一文 我注意到双变量有一个约束∑_iα_i=1 但是当我试图调用apiPython 混淆;双系数;一类支持向量机的研究,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
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())
给予