局部加权回归、欠拟合、过拟合 - Andrew Ng机器学习公开课笔记1.3
本文主要解说局部加权(线性)回归。在解说局部加权线性回归之前,先解说两个概念:欠拟合、过拟合。由此引出局部加权线性回归算法。
欠拟合、过拟合
例如以下图中三个拟合模型。第一个是一个线性模型。对训练数据拟合不够好,损失函数取值较大。如图中第二个模型,假设我们在线性模型上加一个新特征
x%5E%7B2%7D" alt="" style="border:0px">项,拟合结果就会好一些。
图中第三个是一个包括5阶多项式的模型,对训练数据差点儿完美拟合。

模型一没有非常好的拟合训练数据,在训练数据以及在測试数据上都存在较大误差。这样的情况称之为欠拟合(underfitting)。
模型三对训练数据拟合的非常不错,可是在測试数据上的精确度并不理想。这样的对训练数据拟合较好。而在測试数据上精确度较低的情况称之为过拟合(overfitting)。
局部加权线性回归(Locally weighted linear regression,LWR)
从上面欠拟合和过拟合的样例中我们能够体会到,在回归预測模型中。预測模型的精确度特别依赖于特征的选择。特征选择不合适。往往会导致预測结果的天差地别。局部加权线性回归非常好的攻克了这个问题,它的预測性能不太依赖于选择的特征,又能非常好的避免欠拟合和过拟合的风险。
在理解局部加权线性回归前,先回顾一下线性回归。
线性回归的损失函数把训练数据中的样本看做是平等的,并没有权重的概念。
线性回归的具体请參考《线性回归、梯度下降》,它的主要思想为:

而局部加权线性回归,在构造损失函数时增加了权重w,对距离预測点较近的训练样本给以较高的权重,距离预測点较远的训练样本给以较小的权重。权重的取值范围是(0,1)。
局部加权线性回归的主要思想是:

当中如果权重符合公式

公式中权重大小取决于预測点x与训练样本的距离。假设|
-
x|较小,那么取值接近于1,反之接近0。參数τ称为bandwidth。用于控制权重的变化幅度。
局部加权线性回归长处是不太依赖特征选择。并且仅仅须要用线性模型就训练出不错的拟合模型。
可是因为局部加权线性回归是一个非參数学习算法,损失数随着预測值的不同而不同,这样θ无法事先确定。每次预測时都须要扫描全部数据又一次计算θ,所以计算量比較大。
局部加权回归、欠拟合、过拟合 - Andrew Ng机器学习公开课笔记1.3的更多相关文章
- Andrew Ng机器学习公开课笔记 -- 线性回归和梯度下降
网易公开课,监督学习应用.梯度下降 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 线性回归(Linear Regression) 先看个 ...
- Andrew Ng机器学习公开课笔记 -- Regularization and Model Selection
网易公开课,第10,11课 notes,http://cs229.stanford.edu/notes/cs229-notes5.pdf Model Selection 首先需要解决的问题是,模型 ...
- Andrew Ng机器学习公开课笔记 -- Mixtures of Gaussians and the EM algorithm
网易公开课,第12,13课 notes,7a, 7b,8 从这章开始,介绍无监督的算法 对于无监督,当然首先想到k means, 最典型也最简单,有需要直接看7a的讲义 Mixtures of G ...
- Andrew Ng机器学习公开课笔记 -- Generalized Linear Models
网易公开课,第4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面介绍一个线性回归问题,符合高斯分布 一个分类问题,logstic回 ...
- Andrew Ng机器学习公开课笔记 -- Logistic Regression
网易公开课,第3,4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面讨论了线性回归问题, 符合高斯分布,使用最小二乘来作为损失函数 ...
- Andrew Ng机器学习公开课笔记–Principal Components Analysis (PCA)
网易公开课,第14, 15课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Compo ...
- Andrew Ng机器学习公开课笔记 – Factor Analysis
网易公开课,第13,14课 notes,9 本质上因子分析是一种降维算法 参考,http://www.douban.com/note/225942377/,浅谈主成分分析和因子分析 把大量的原始变量, ...
- Andrew Ng机器学习公开课笔记 -- 学习理论
网易公开课,第9,10课 notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf 这章要讨论的问题是,如何去评价和选择学习算法 Bias/va ...
- Andrew Ng机器学习公开课笔记 -- 支持向量机
网易公开课,第6,7,8课 notes,http://cs229.stanford.edu/notes/cs229-notes3.pdf SVM-支持向量机算法概述, 这篇讲的挺好,可以参考 先继 ...
随机推荐
- Shell(三)流程控制
Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { ...
- 马上着手开发 iOS 应用程序
https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOSCh/chapters/Introd ...
- Python学习笔记(6)元组
2019-03-02 元组(tuple): (1)元组是不可变的,无法进行任意修改.插入.删除一个元素. (2)创建元组大部分时候用小括号,如果创建的元组中只有一个元素,需要在它的后面加上一个逗号. ...
- linux部分常用命令
linux的命令挺多的,下面是我常用的,其实也不可能在敲代码的时候把这个博客拿出来对着写,就是想记录一下,刚开始都觉得不好记,多敲几遍就记住了!!! 创建文件夹:mkdir filename 删除当前 ...
- jQuery判断浏览器类型和版本
jquery 判断浏览器类型 例: if($.browser.msie) { alert("这是一个IE浏览器"); }else if($.browser.opera) { a ...
- virtio netdev的创建
Linux眼下支持至少了8种虚拟化系统: Xen KVM VMware's VMI IBM's System p IBM's System z User Mode Linux lguest IBM's ...
- doT中嵌套for循环的使用
1.数据结构 var goods = [ { "id": "1", "name": "衣服", "goods& ...
- ios修改了coredata数据结构后,更新安装会闪退
如果iOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表.字段等操作),那在覆盖安装程序时就要进行CoreData数据库的迁移,具体操作如下: 1.选中你的mydata.xc ...
- ES不设置副本是非常脆弱的,整个文章告诉了你为什么
Delaying Shard Allocation As discussed way back in Scale Horizontally, Elasticsearch will automatica ...
- 17.广度优先遍历bfs
#include <iostream> #include <boost/config.hpp> //图(矩阵实现) #include <boost/graph/adjac ...