问题的定义:
从一个角度来看,是成对排名问题的在线学习。
一个简单的插图:
假设我有以下未标记的数据:
import numpy as np
X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
我手动创建权重并标记数据(这并不意味着此权重是正确的'所以我们不确定标签是否正确)。通过手动创建权重,标签如下:
Y = np.array([1, 1, 2, 2])
我正在使用SGD
训练sklearn
随机梯度下降算法,其中“铰链”丢失会产生线性SVM(用于“学习排名'”)
from sklearn import linear_model
clf = linear_model.SGDClassifier()
clf.fit(X, Y)
一段时间后,我会获得以前某些数据的正确标签(将其命名为true_data
并使用partial_fit
将其放入以前的模型中:
x_true_data = np.array([[-1,-1]])
y_true_data = np.array([1])
clf.partial_fit(x_new,y_new)
这会更新权重。我有些担忧:
true_data
则反之?与adaboost类似的东西。true_data
数据不多(5-20之间)true_data
?我可以提供一些有用的链接,但如果我继续沿着这条路走下去,我就不会清楚自己的想法:
How to update an SVM model with new data
log.regression vs SGDClassifier
欢迎任何反馈。