在最近一段时间,对机器学习进行了学习,但感觉效果不是很好。一日与朋友聊起此事,他建议建个博客,一来梳理一下所学内容,二来和大家一起学习交流。因此,建立了此博客,如果您发现博文中有不当之处,欢迎您来邮指明,我的邮箱为[email protected]
在机器学习中,基本分为两大问题——监督学习(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——特征个数
那么假设函数应该可以表示为
在该问题中,我们使用最小二乘法来构造cost function,我们定义J(θ)为hθ(X)的cost function,则其公式如下:
在更新的过程中,我们使用梯度下降法,梯度下降法能够很容易地得到局部最优解。梯度下降法分为批量梯度下降法和随机梯度下降法。参数θ的更新公式如下: