Python与机器学习之优化算法
回顾圣经,在监督学习中优化算法是关键的步骤——分析模型并得到最优模型,才是最终的目的。
基于梯度下降的学习
对于一个简单的机器学习算法,每一个样例包含了一个(x,y)对,其中输入x和一个数值输出y。我们考虑损失函数
l(y^,y)
,它描述了预测值
y^
和实际值y之间的损失。预测值是我们选择从一函数族F中选择一个以w为参数的函数
fw(x)
的到的预测结果。
我们的目标是寻找这样的函数f,能够在训练集中最小化平均损失函数
Q(z,w)=l(fw(x),y)
由于我们不知道数据的真实分布,所以我们通常使用
En(f)=1n∑i=1nl(f(xi),yi)
来代替
E(f)=∫l(f(x),y)dP(z)
经验风险用来衡量训练集合的效果。期望风险E(f)描述了泛化(generation)的效果,预测未知样例的能力
如果函数族F进行足够的限制(sufficiently restrictive),统计机器学习理论使用 经验风险来代替期望风险。
优化算法
1. batch gradient descent
2. stochastic gradient descent
3. newton’s method
总结
上述例举的只是简单常见的优化算法,初学者掌握也需要一定的时间,也能解决常见的实际问题。
最后,如果您觉得有用或者有想法的话,欢迎点赞或者评论。
python群:190341254
丁。