假设我有一个有监督的学习问题,有一系列的特征和标签。首先,我学习的培训数据,然后我决定流的数据,逐点和做在线学习。是否有可能在每个数据点进入时更新权重或计算特性重要性?另外,什么在线学习算法可以让我做到这一点,这可以用Python完成吗?
发布于 2017-01-05 05:54:35
在线学习实际上是一种处理海量数据和海量特征空间的优化方法。
FTRL是由随机梯度下降导出的一种典型算法。如果你想知道更多关于这方面的信息,你可以参考纸张http://www.jmlr.org/proceedings/papers/v15/mcmahan11b/mcmahan11b.pdf。
在此基础上开发了其他具体的在线方法,如TDAP,您可以查看纸质http://www.cs.cmu.edu/~epxing/papers/2016/HuaWei_KDD16.pdf来了解更多信息。
就像你说的,你想在训练时了解“特征重要性”。当迭代继续或数据点进入时,模型会改变,因此模型会告诉您确切的“特性重要性”。
在这种情况下,它们大多是用scala或基于Spark的java开发的,其他的可能是使用基于OMP的c++开发的,您可以使用python开发自己的在线学习方法。
希望这对你有帮助-)
发布于 2017-01-04 22:05:04
是的,这可以用Python来完成。Scikit- learning有一些在线学习算法,您可以从中获得特性的重要性。请看6.1.3下的以下网页。增量学习:
http://scikit-learn.org/stable/modules/scaling_strategies.html
https://datascience.stackexchange.com/questions/16073
复制相似问题