机器学习之1——线性回归
2015-11-08 20:46
351 查看
在最近一段时间,对机器学习进行了学习,但感觉效果不是很好。一日与朋友聊起此事,他建议建个博客,一来梳理一下所学内容,二来和大家一起学习交流。因此,建立了此博客,如果您发现博文中有不当之处,欢迎您來邮指明,我的邮箱为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(θ)逐渐逼近到最优点。
在更新的过程中,我们使用梯度下降法,梯度下降法能够很容易地得到局部最优解。梯度下降法分为
4000
批量梯度下降法和随机梯度下降法。参数θ的更新公式如下:
在使用批量梯度下降法时,使用全部的样本来进行更新每一个参数,而使用随机梯度下降法时,我们仅仅使用一个样本来更新参数。所以,批量梯度下降法的计算量十分大,当数据量比较大时,运行速度缓慢,但是能够得到较为最优的结果,而随机梯度下降法仅仅使用一个样本的数据,因此,运行速度比较快,但是一般在最优点附近徘徊,不能得到较为精确的最优解。
[align=left]
[/align]
[align=left]参考文献:[/align]
[align=left][1] Andrew NG.Coursea,https://www.coursera.org/learn/machine-learning/home/welcome[/align]
[align=left]
[/align]
在机器学习中,基本分为两大问题——监督学习(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(θ)逐渐逼近到最优点。
在更新的过程中,我们使用梯度下降法,梯度下降法能够很容易地得到局部最优解。梯度下降法分为
4000
批量梯度下降法和随机梯度下降法。参数θ的更新公式如下:
在使用批量梯度下降法时,使用全部的样本来进行更新每一个参数,而使用随机梯度下降法时,我们仅仅使用一个样本来更新参数。所以,批量梯度下降法的计算量十分大,当数据量比较大时,运行速度缓慢,但是能够得到较为最优的结果,而随机梯度下降法仅仅使用一个样本的数据,因此,运行速度比较快,但是一般在最优点附近徘徊,不能得到较为精确的最优解。
[align=left]
[/align]
[align=left]参考文献:[/align]
[align=left][1] Andrew NG.Coursea,https://www.coursera.org/learn/machine-learning/home/welcome[/align]
[align=left]
[/align]
相关文章推荐
- 用Python从零实现贝叶斯分类器的机器学习的教程
- Python编程实现使用线性回归预测数据
- My Machine Learning
- 机器学习---学习首页 3ff0
- 也谈 机器学习到底有没有用 ?
- 量子计算机编程原理简介 和 机器学习
- 初识机器学习算法有哪些?
- 10个关于人工智能和机器学习的有趣开源项目
- 机器学习实践中应避免的7种常见错误
- 机器学习书单
- 北美常用的机器学习/自然语言处理/语音处理经典书籍
- 如何提升COBOL系统代码分析效率
- 自动编程体系设想(一)
- 自动编程体系设想(一)
- 支持向量机(SVM)算法概述
- 神经网络初步学习手记
- 常用的分类评估--基于R语言
- 开始spark之旅
- spark的几点备忘
- 关于机器学习的学习笔记(一):机器学习概念