最简单的机器学习几行代码可以实现

之前对机器学习的理解仅仅停留在书本上的推导公式,或者对一些开源工具的使用上高大上的机器学习究竟如何训练、怎样预测的,对我们来说就像是一个黑盒充满鉮秘今天,我们就以经典的机器学习算法SVM为例抛开各种实际处理上的tricky, 实现一个简单纯洁的SVM,用CODING说话揭开SVM的神秘面纱,让机器学习的過程更加接地气!

原理就不多说了:hinge损失函数+L2正则化+梯度下降Python代码如下svm.py【注意,为了减少代码量替身阅读效率,省掉了很多鲁棒性检測的代码】:

EPS = 0. # 很小的数字用于判断浮点数是否等于0 #每次迭代随机选择一个训练样本 #更新权重, lr是学习速率 主函数:设置参数=>导入数据=>训练=>輸出结果 lr = 0.01; #lr, 是学习速率,用于调整训练收敛的速度 #导入测试集&训练集

附:手工编的少量测试集和训练集数据: , 非常简陋的数据可以简单用作測试。

参考:飞旋的世界SVM的C代码实现做了一些修正。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信