机器学习第一周总结——线性回归
来源:互联网 发布:数据分析师的发展趋势 编辑:程序博客网 时间:2024/06/01 07:25
先搞清楚什么是机器学习,这对定位问题是否应该使用机器学习来解决很重要,有些问题完全没必要使用机器学习,就没必要杀鸡用牛刀了。
什么是机器学习?
Arthur Samuel(1959):
Field of study that gives computers the ability to learn without being explicitly programmed.
说人话:不需要太多的编程就能使计算机拥有学习某一领域的能力。Tom Mitchell(1998):
A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.
说人话:AlphaGo为了完成人机对战(下棋 T),不断学习下棋,从中获取经验(E),目的是为了提高和人比赛的胜率(P)。
机器学习分类
机器学习涉及的范围很广,针对不同的问题,学习策略也很多,但总体而言大致可以分为监督学习和非监督学习两种(还有半监督学习和强化学习)。不同的问题需要使用不同的策略。
还是把这两种策略的含义搞清楚先:
什么是监督学习?
可以理解为一部分数据的答案已经知道了。比如我们要预测未来大盘的点位,在历史中大盘的点位已经知道了;再比如我们要让机器知道给它的图片是个帅哥还是美女,前提是我们已经知道了这个图片是帅哥还是美女。
可想而知,如果需要人工去分类(打标),是一个多大的工程。这也孕育出了很多以出售打标数据盈利的公司。
什么是无监督学习?
和监督学习相反,数据的答案事先我们不知道。而寻找答案是一个无中生有的过程。比如你遇到一群外星人,这群外星人各自有着不同的特征,你需要通过聚类的方法把有相同特征的外星人分组到一起,然后研究他们哪些对人类友好,哪些对人类有威胁,这叫无监督学习。
算法一览:
1. 能预测未来的神奇算法——线性回归
说到线性回归,其实我们初中的时候就学过它的简单方程式,只不过那会儿我们没有安利这样一个高大上的名字,我们那会儿叫斜截公式:
来看看只有一个参数的单参数线性回归模型:
所谓的特征就是二维表中具有计算意义的一列数据,比如
其中Sex是一个特征,High是另一个特征,ID不是个特征,它只是个序列索引而已。他们的i都是4,因为有4条数据。是不是秒懂?:) 是的,在一元线性回归算法中,我们就是用一条倾斜的直线来预测未来。原来我们从初中时就可以预测未来了。:)
为什么我们可以用类似一条直线来预测呢?
这个问题也可以换个说法,在什么情况下可以使用线性回归算法?
- 看数据的分布是有一定规律的,可以通过直线或曲线来拟合数据的中心。
- 需要预测的变量是连续的值,比如房价,股票价格。而不是离散值,比如只有男、女等。
再来看看多参数的线性回归模型:
用向量表示:
用矩阵表示:
简不简单?有了这个公式,我们就能预测未来了:)
2. 如何预测?
上面那个模型中
针对一元回归模型,不同的
其中
说人话:
现在的问题就转换成了求
即:
这个问题有两种解决方案:
1. 梯度下降
要了解梯度下降算法,首先要知道求导公式的意义:
说人话:每变化一点点
还是没懂!? 上一个百度图片:
图片中Δx 就是变化的那一点点(对应∂θ 或Δy ),而对应的曲线f(x) ,发生了Δy 这么多变化。当N和M非常接近时(即Δx 很小很小),我们可以用PQ的高度(dy )来近似NM的高度(其高度dy =在x0 处的斜率 *Δx )。
知道了这个我们再来看看梯度下降算法公式:
θj:=θj−α∗∂J∂θj(*)
所以,对于梯度下降算法公式,
当T倾斜向上,即角度小于90°时,
α∗∂J∂θj 值为正,θj 从大变小,∂J∂θj 不断的趋近于0,θj 不断的向左移动减小,直到移动到曲线的底部;
当T倾斜向下时,即角度大于90°时,α∗∂J∂θj 值为负,θj 从小变大,∂J∂θj 不断的趋近于0,θj 不断的向右移动增大,直到移动到曲线的底部
理解了原理,下面就是如何算
把
注意:上面的
我们对其中一个子式子继续展开研究:
简化成向量的形式:
所以最终我们的梯度下降
对求和公式展开后写成矩阵的形式:
终极公式:
θ:=θ−α1m(XT∗(Xθ−Y))(*)
什么意思?意思是是只要不断的迭代θ ,最终α1m(XT∗(Xθ−Y)) 会收敛到0,从而得到一个收敛后的θ ,获得最小值。
2. 正规方程
正规方程可以更快速简单的求解
首先正规方程也是从这个方程而来:
因为
所以
对
因为
梯度方法和正规方程方法比较:
* 注:以上数学推导过程若有不严谨之处,欢迎指出!*
- 机器学习第一周总结——线性回归
- Coursera2014 机器学习第一周 单变量线性回归
- Stanford机器学习 第一周:机器学习概念及单变量线性回归
- 第一周-Coursera/Stanford机器学习课程学习笔记-单变量线性回归
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(2.线性回归,代价函数)
- 斯坦福大学机器学习笔记--第一周(5.线性回归的梯度下降)
- 机器学习复习——线性回归
- 机器学习——多元线性回归
- 机器学习——线性回归
- 机器学习入门——线性回归
- 机器学习算法——线性回归
- 机器学习——多元线性回归
- 机器学习笔记——线性回归
- 机器学习笔记——线性回归
- 机器学习笔记—线性回归
- 机器学习—局部加权线性回归
- 机器学习实验—线性回归预测
- 机器学习总结(一):线性回归、岭回归、Lasso回归
- 数码相机成像原理
- 实验三:单链表及其操作
- UVA 673 Parentheses Balance
- Android开发,ZxMvp框架的引入及使用详解(中)
- 本地计算机上的OracleOraDb10g_home1TNSListener服务启动后又停止---解决方法
- 机器学习第一周总结——线性回归
- Android EditText 使用时遇到 StackOverflowError
- mysql基本操作(php版内容整理)
- new、this、static、
- ORA-00600: 内部错误代码
- java读取mysql形如‘0000-00-00’时间出现异常问题
- 深圳物业调查:江苏物业第三方评估可防“自说自话”
- PAT 乙级 1039. 到底买不买(20)
- Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结