监督学习—最小二乘法
原文作者:马同学
原文地址:最小二乘法的本质是什么?
最小平方法是十九世纪统计学的主题曲。从许多方面来看,它之于统计学就相当于十八世纪的微积分之于数学。
---史蒂芬-史蒂格勒《The History of Statics》
目录
一、日用而不知
二、最小二乘法
三、推广
四、最小二乘法与正太分布
五、skleran的LR模型使用
一、日用而不知
来看一个生活中的例子,比如有5把尺子,如下图所示:
用他们分别测量一线段的长度,得到的数值分别为(颜色指不同的尺子):
长度 | |
---|---|
红 | 10.2 |
蓝 | 10.3 |
橙 | 9.8 |
黄 | 9.9 |
绿 | 9.8 |
之所以出现的不同的值,可能因为:
- 不同厂家生产的尺子,精度不同
- 材质不同,热胀冷缩不一样
- 测量的时候心情起伏不定
- 。。。。
总之就是有误差,这种情况下,一般取平均值来作为线段的长度:
日常中就是这么使用的,可是作为很事er的数学爱好者,自然要想下:
- 这样做有道理么?
- 用调和平均数行不行?
- 用中位数行不行?
- 用几何平均数行不行?
二、最小二乘法
换一种思路来思考刚才的问题,首先把测试得到的值画在笛卡尔坐标系中,分别记做yi:
首先,要把猜测的线段长度的真实值用平行于横轴的直线来表示,因为是猜测的,所以用虚线画,记做y:
每个点都向y做垂线,垂线的长度就是|y-yi|,也可以理解为测量值和真实值之间的误差:
因为误差是长度还要取绝对值,计算起来麻烦,就干脆用平方来代表误差:
误差的平方和就是:
因为y是猜测的,可以不断变化:
自然误差的平方和是不断变化的,
法国数学家,阿德里安-马里·勒让德提出让总的误差的平方最小的y值就是真值,这是基于,如果误差是随机的,应该围绕真值上下波动,(关于这点可以看下如何理解无偏估计)。勒让德的想法变成代数式就是:
这个猜想也蛮符合直觉的,来算一下。这是一个二次函数,对其求导,导数为0的时候取得最小值:
正好是算数平均数。原来算数平均数可以让误差最小啊,这样看来选用它显得讲道理了。以下这种方法就是最小二乘法,所谓二乘就是平方的意思,台湾直接翻译为最小平方法
三、推广
算数平均数只是最小二乘法的特例,适用范围比较狭窄,而最小二乘法用途就比较广泛。比如温度与冰淇淋的销量:
看上去像某种线性关系:
可以假设这种线性关系为:
通过最小二乘法的思想:
上图的i、y、x分别为:
总的误差平方为:
不同的a、b会导致不同的误差平方,根据多元微积分的知识,当:
这个时候误差平方取最小值。对于a、b而言,上述方程组为线性方程组,用之前的数据解出来,
也就是这跟直线:
其实还可以假设:
在这个假设下,可以根据最小二乘法,算出a、b、c,得到下面这个红色的曲线:
同一组数据,选择不同的f(x),通过最小二乘法可以得到不一样的拟合曲线:
不同的数据,更可以选择不同的f(x),通过最小二乘法可以得到不一样的拟合曲线:
f(x)也不能选择任意的函数,还是有一些讲究的,这里就不介绍了。
四、最小二乘法与正太分布
我们对勒让德的猜测,即最小二乘法,仍然抱有怀疑,万一这个猜测是错误的怎么办?
数学王子高斯也想我们一样持有怀疑,高斯换了一个思考框架,通过统计论那一套来思考
五、skleran的LR模型使用
LinearRegression
拟合一个带有系数 的线性模型,使得数据集实际观测数据和预测数据(估计值)之间的误差平方和最小。其数学表达式为:
LinearRegression
会调用 fit
方法来拟合数组(x,y),并且将线性模型的系数 存储在其成员变量 coef_
中:
>>> from sklearn import linear_model
>>> reg = linear_model.LinearRegression()
>>> reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
>>> reg.coef_
array([ 0.5, 0.5])
然而,对于最小二乘的系数估计问题,其依赖于模型各项的相互独立性。当各项是相关的,且设计矩阵 的各列近似线性相关,那么,设计矩阵会趋向于奇异矩阵,这会导致最小二乘估计对于随机误差非常敏感,产生很大的方差。例如,在没有实验设计的情况下收集到的数据,这种多重共线性(multicollinearity)的情况可能真的会出现。
监督学习—最小二乘法相关推荐
- 最小二乘法MSE 梯度下降法
为什么要比较这两种方法呢?很多人可能不知道,我先简单的介绍一下 机器学习有两种,一种是监督学习,另一种是非监督学习.监督学习就是我告诉计算机你把班上同学分个类,分类标准是按照性别,男生和女生:非监督分 ...
- 干货丨从线性回归到无监督学习,数据科学家需要掌握的十大统计技术
不管你对数据科学持什么态度,都不可能忽略分析.组织和梳理数据的重要性.Glassdoor 网站根据大量雇主和员工的反馈数据制作了「美国最好的 25 个职位」榜单,其中第一名就是数据科学家.尽管排名已经 ...
- 监督学习应用与梯度下降
监督学习应用与梯度下降 (2013-12-01 21:37:37) 转载▼ 标签: 梯度下降算法 回归 机器学习 分类: 机器学习与数据挖掘 (斯坦福大学公开课--监督学习应用与梯度下降笔记) ...
- 机器学习知识点(四)最小二乘法Java实现
最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻找数据的最佳函数匹配.利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小.最小二乘法 ...
- 机器学习中有监督学习——回归
机器学习中有监督学习--回归 一.引言 本材料参考Andrew Ng大神的机器学习课程 http://cs229.stanford.edu,以及斯坦福无监督学习UFLDL tutorial http: ...
- 机器学习:线性回归I 最小二乘法
原文在此 线性回归是最基础和常见的算法,属于监督学习的一种,是讲述算法开始的地方.我们在中学.大学学过很多次,虽然我已完全不记得.线性回归作为基础,虽然simple但不意味着easy,对其掌握很重要的 ...
- 有监督学习和无监督学习举例_监督学习入门学习笔记
以下内容引用:An Introduction to Machine Learning with Python by Andreas C. Müller and Sarah Guido (O'Reill ...
- 如何学习 azure_Azure的监督学习
如何学习 azure Machine learning sounds cool, doesn't it? I'm a biology student who didn't have any idea ...
- 小白学数据:教你用Python实现简单监督学习算法
转载自 小白学数据:教你用Python实现简单监督学习算法 今天,文摘菌想谈谈监督学习. 监督学习作为运用最广泛的机器学习方法,一直以来都是从数据挖掘信息的重要手段.即便是在无监督学习兴起的近日,监督 ...
最新文章
- 查找一段文字中最长的重复字串 – 编程珠玑(排过序的后缀数组的应用)
- VTK:Utilities之PiecewiseFunction
- 基于遗传算法实现自动组卷
- go get github.com/astaxie/beego 没有反应
- 计算机组成原理tec9,(15-16-2)实验1-寄存器-TEC9.docx
- Java集合和泛型练习及面试题——博客园:师妹开讲啦
- python中import os_Python常用模块os--与操作系统交互
- C语言求x和y的乘积,计算方程式,求x,C语言中怎么计算x,y的值?
- “CSDN开发助手”:【必备插件 · 安装与使用教程】
- sas一元回归分析_商业分析的应用
- Computer Browser服务自动停止
- 《Android开发艺术探索》— Android 书籍
- main函数执行前后发生了什么
- CentOS-7 安装mosquitto(MQTT的开源消息代理)
- IDM下载浮动条使用详解
- Element select表单必填验证
- matplotlib cmap取值
- 我爱我家 - 抗争你们这些黑中介滴致命武器之-要你命1000
- sql查询查询半小时内数据的方法
- Java--JAVA_HOME环境变量的配置
热门文章
- jquery ajax异步调用
- 新开activity并且新旧窗口之间传值
- mmsPlayer 2.0 将开源java部分
- android webview 加载进度和自定义404错误页面
- hdu 6386 Age of Moyu (重边判断)
- win10 uwp 使用 Matrix3DProjection 进行 3d 投影
- BZOJ3123: [Sdoi2013]森林
- C# does not contain a constructor that takes no parameter
- PyQt4 开发入门
- 在子线程中创建新的窗体,遇到的问题。