机器学习之1——线性回归

来源:互联网 发布:北大青鸟java好学吗 编辑:程序博客网 时间:2024/06/05 05:48

在最近一段时间,对机器学习进行了学习,但感觉效果不是很好。一日与朋友聊起此事,他建议建个博客,一来梳理一下所学内容,二来和大家一起学习交流。因此,建立了此博客,如果您发现博文中有不当之处,欢迎您來邮指明,我的邮箱为212352807@qq.com

在机器学习中,基本分为两大问题——监督学习(supervised learning)和非监督学习(unsupervised learning),监督学习又分为分类(classification)问题和回归(regression)问题。在监督学习中,虽然每一类问题中都有很多方法,但是基本的思路都是沿着建模——确立cost function——参数最优化——新数据的预测

接下来梳理一下线性回归算法。在建立模型之前,我们先来定义几个参量。

Xi——第i个样本特征向量,i=1,2....,m

yi——第i个输出结果向量,i=1,2....,m

θ——参数向量,维数与X一致,j=1,2....,n

m——样本总数

n——特征个数

那么假设函数应该可以表示为

    
其中Xji是第i个样本的第j个特征。在构造假设函数时,个人认为应当谨慎,要做到不能过拟合也不能欠拟合,应当根据特征的个数来进行选择。
在该问题中,我们使用最小二乘法来构造cost function,我们定义J(θ)为hθ(X)的cost function,则其公式如下:

我们将将对J(θ)进行优化,在优化过程中,我们采用最小均方算法(Least mean square,LMS),LMS算法的中心思想为通过迭代将凸函数J(θ)逐渐逼近到最优点。
在更新的过程中,我们使用梯度下降法,梯度下降法能够很容易地得到局部最优解。梯度下降法分为批量梯度下降法和随机梯度下降法。参数θ的更新公式如下:

在使用批量梯度下降法时,使用全部的样本来进行更新每一个参数,而使用随机梯度下降法时,我们仅仅使用一个样本来更新参数。所以,批量梯度下降法的计算量十分大,当数据量比较大时,运行速度缓慢,但是能够得到较为最优的结果,而随机梯度下降法仅仅使用一个样本的数据,因此,运行速度比较快,但是一般在最优点附近徘徊,不能得到较为精确的最优解。

参考文献:
[1] Andrew NG.Coursea,https://www.coursera.org/learn/machine-learning/home/welcome

0 0
原创粉丝点击