算法部分
ml-分类算法
回归
给定一个训练集,怎么学习参数θ,从而达到比较好的拟合效果?一个直观的想法是使得预测值h(x)尽可能接近y,为了达到这个目的,我们对于每一个参数θ,定义一个代价函数costfunction用来描述h(x(i))′与对应的y(i)′的接近程度:
- 梯度下降
现在我们要调整θ使得J(θ)取得最小值,为了达到这个目的,我们可以对θ取一个随机初始值(随机初始化的目的是使对称失效),然后不断地迭代改变θ的值来使J(θ)减小,直到最终收敛取得一个θ值使得J(θ)最小。梯度下降法就采用这样的思想:对θ设定一个随机初值,然后迭代进行以下更新。
直到收敛,这里的α称为学习率learning rate。
梯度方向由J(θ)对θ 的偏导数决定,由于要求的是最小值,因此对偏导数取负值得到梯度方向。将J(θ)代入可得到总的更新公式。
下面的更新规则称为LMS update rule(least mean squares),也称为Widrow-Hoff learning rule。
对于如下更新算法:
由于在每一次迭代都考察训练集的所有样本,而称为批量梯度下降batch gradient descent。
如果参数更新计算算法如下:
这里我们按照单个训练样本更新θ的值,称为随机梯度下降stochastic gradient descent。比较这两种梯度下降算法,由于batch gradient descent在每一步都考虑全部数据集,因而复杂度比较高,随机梯度下降会比较快地收敛,而且在实际情况中两种梯度下降得到的最优解J(θ)一般会接近真实的最小值。所以对于较大的数据集,一般采用效率较高的随机梯度下降法。
参考:http://www.cnblogs.com/fanyabo/p/4060498.html
决策树
参考:http://www.cnblogs.com/hsydj/p/5853954.html
构建方法:
- 深度优先
- 广度优先
策树节点分裂终止条件: