PRML-Chapter3 Linear Models for Regression
Example: Polynomial Curve Fitting
The goal of regression is to predict the value of one or more continuous target variables t given the value of a D-dimensional vector x of input variables.
什么是线性回归?线性回归的目标就是要根据特征空间是D维的输入x,预测一个或多个连续的目标值变量,大多数情况下我们研究的目标值是一维的。
We can obtain a much more useful class of functions by taking linear combinations of a fixed set of nonlinear functions of the input variables, known as basis functions. Such models are linear functions of the parameters, which gives them simple analytical properties, and yet can be nonlinear with respect to the input variables.
这个多项式拟合的例子并不是用一条直线进行回归,这个例子为什么是线性回归呢?这里说的线性是指预测函数y是关于参数w的线性函数。我们可以用一些非线性基函数(basis functions)将我们的输入变量进行非线性变换。
在这个例子中,绿色的曲线是产生数据真正的y=sin(2πx),蓝色的圈圈是在[0,1]区间上均匀采样,加入均值为0的高斯噪声产生的样本。
Talor Expansion
有人会想,为什么我们可以用多项式进行拟合?这时候我们可以借助泰勒展开定理。
若函数f(x)在点a的某一领域内具有(n+1)阶导数,则在该领域内f(x)的n阶泰勒公式为:
其中,当a=0时为泰勒公式的特例,麦克劳林展开
特别地,当f(x)=sin(x)和n=9时,我们有:
也就是说,sin(x)可以用在x=0处的麦克劳林展开,用M阶多项式进行近似,当M越大,拟合效果越好。
Common Basis Functions
更一般地形式
where ϕj(x) is known as basis functions
Polynomial basis functions
Gaussian basis functions
Sigmoid basis functions
where
Objectives and Results
我们的目标是预测值(绿色的点)与训练样本的值(蓝色的点)之间的误差尽量小,采用的损失函数是平方损失函数。
Maximum likelihood and least squares
假设我们的目标变量t是由目标函数y(x,w)加上高斯噪声产生的
其中,ϵ是均值为0,方差为β−1的高斯随机变量,也就是
在给定一个输入x的情况下,目标变量t的条件期望
根据训练样本X以及对应的t,我们可以得到关于参数w和β似然函数
两边取log
其中
极大化似然函数等价于极小化损失函数。在噪声服从均值为0的高斯分布情况下,MLE与Least Square等价
Calculate Parameter
通过梯度下降进行求解
设置梯度为0
最后化简,我们可以得到
特别地,当两个或两个以上的列向量相关性明显的话,ϕTϕ容易接近奇异矩阵,求解的w会有很大的波动
Geometry of least square
这里假设我们的样本大小N=3,特征M=2,t⃗ =(1,2,3)
每个样本的特征空间是2维,其中第一列(1,0,0)我们可以看成是一个特征维度(比如x轴),三维空间中的一个点或者向量,对应下图的φ1,第二列(0,1,0)也是一个特征维度(比如y轴),对应下图的φ2,这两个维度向量构成的向量空间(对这两个向量进行线性组合,系数为w1和w2)就是在三维空间中的一个平面。但是我们的数据样本的t⃗ =(1,2,3)(下图中绿色的向量),显然不在这个平面中,这样进行回归或者拟合就会产生误差(下图中黑色的线段),我们的任务是将这种误差最小化,也就是找一条最短的黑色线段,解决的办法就是将t⃗ 向二维平面(数据的特征空间)进行投影,得到一个y⃗ ,这个y⃗ 就是对两个列向量进行线性组合的结果,系数为w1和w2,也就是我们要求解的参数。我们可以再进一步想想,为什么会有误差呢,如果我们再引进一个特征(再加入一个列向量φ3=(0,0,1),比如z轴),这时候,我们的特征空间就可以表示任何三维空间中的数据了,在这个例子中就不会有误差了。但是实际上,对一个问题进行回归分析,考虑的维度可能是成千上万维甚至无穷维,所以基本上都会有误差。
Regularized Least Squares
Over-fitting的问题可以通过在损失函数中加入正则项(参数的惩罚)
其中λ是正则项的系数,损失函数就变为
参数w的解变为
更一般的形式
这个问题可以转换为带约束的凸优化问题,我们可以基于约束条件,构造拉格朗日函数。
上图左边为Ridge,右边为Lasso,这就是为什么Lasso能够参数稀疏解,进行特征选择。
---
#The Bias-Variance Decomposition
期望的损失函数
其中h(x)是我们的目标函数
Bias和Variance是一个trade-off的问题
Bayesian Linear Regression
参数w的先验概率分布
参数w的后验概率分布
其中
特别地,我们取
对参数w的后验概率分布取log
λ=αβ
MAP与Regularized Least Square等价
Predictive distribution
Bayesian关注的不是参数的获取,而是预测
Equivalent Kernel
预测值可以写成
写成等价核的形式
其中
可以看出是训练样本的目标值的加权求和。我们可以不使用基函数(隐式定义了核),直接定义等价核,从而引出了高斯过程。
Bayesian Model Comparison
Bayesian可以帮助我们做模型选择
其中Model Evidence是
我们需要选择那个Model Evidence最大的模型
Bayes factor
取log
多个参数w的情况下
从这个图中,我们可以看出,简单模型可以产生的数据D比较单一,而复杂模型可以产生比较复杂多样数据,但是分配到这些数据D的概率比较低,也就是复杂模型的Model Evidence较低,适中的模型复杂度有较高的Model Evidence,而简单模型虽然有较高的Model Evidence,但是其拟合能力差。
Bayesian Framework Summary
- 可以避免过拟合
- 需要对模型进行假设,也就是选择合适的先验,不合理的先验会导致一些问题(例如高斯先验的方差如果取无限大的话,无法对参数w进行积分)
PRML-Chapter3 Linear Models for Regression的更多相关文章
- [Scikit-learn] 1.1 Generalized Linear Models - Logistic regression & Softmax
二分类:Logistic regression 多分类:Softmax分类函数 对于损失函数,我们求其最小值, 对于似然函数,我们求其最大值. Logistic是loss function,即: 在逻 ...
- PRML读书笔记——3 Linear Models for Regression
Linear Basis Function Models 线性模型的一个关键属性是它是参数的一个线性函数,形式如下: w是参数,x可以是原始的数据,也可以是关于原始数据的一个函数值,这个函数就叫bas ...
- PRML读书会第三章 Linear Models for Regression(线性基函数模型、正则化方法、贝叶斯线性回归等)
主讲人 planktonli planktonli(1027753147) 18:58:12 大家好,我负责给大家讲讲 PRML的第3讲 linear regression的内容,请大家多多指教,群 ...
- [Scikit-learn] 1.1 Generalized Linear Models - Lasso Regression
Ref: http://blog.csdn.net/daunxx/article/details/51596877 Ref: https://www.youtube.com/watch?v=ipb2M ...
- [Scikit-learn] 1.1 Generalized Linear Models - from Linear Regression to L1&L2
Introduction 一.Scikit-learning 广义线性模型 From: http://sklearn.lzjqsdd.com/modules/linear_model.html#ord ...
- [Scikit-learn] 1.5 Generalized Linear Models - SGD for Classification
NB: 因为softmax,NN看上去是分类,其实是拟合(回归),拟合最大似然. 多分类参见:[Scikit-learn] 1.1 Generalized Linear Models - Logist ...
- Regression:Generalized Linear Models
作者:桂. 时间:2017-05-22 15:28:43 链接:http://www.cnblogs.com/xingshansi/p/6890048.html 前言 本文主要是线性回归模型,包括: ...
- [Scikit-learn] 1.5 Generalized Linear Models - SGD for Regression
梯度下降 一.亲手实现“梯度下降” 以下内容其实就是<手动实现简单的梯度下降>. 神经网络的实践笔记,主要包括: Logistic分类函数 反向传播相关内容 Link: http://pe ...
- Popular generalized linear models|GLMM| Zero-truncated Models|Zero-Inflated Models|matched case–control studies|多重logistics回归|ordered logistics regression
============================================================== Popular generalized linear models 将不同 ...
随机推荐
- 【ML数学知识】极大似然估计
它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现 ...
- 测试mysql
sysbench 测试mysql TODO emacs
- 如何使移动web页面禁止横屏?
https://segmentfault.com/q/1010000005813183 一般只有移动版有这种需求,我们一般不去禁止,而是比例缩放,css实现,竖屏1rem = 9pt ,横屏1rem ...
- bootstrap系统学习
1.响应式中注意的内容: 一行(row)必须在.container中. col-xs- col-sm- col-md- col-lg- 列偏移 .col-md-offset-* 列排序 .col-md ...
- 刷完了leetcode的数据库题目~
很久很久很久之前,我上传了几条数据库题目,并没有坚持,今天跟新一下进度吧,其实没啥难度w(* ̄︶ ̄)
- Java笔试之输入输出
在校招笔试中,有的时候我们要自己设计输入输出,下面罗列一些常见的输入输出: 首先把输入包加载进来: import java.util.* ; 一 ,输入 1,输入一个整数,浮点数,输入一个数组 : p ...
- 个人知识管理系统Version1.0开发记录(03)
demo 设 计 一个知识点demo,在数据库和用户界面的互动事件.分三个层次,数据存储,数据方法工具,数据呈现界面.这一次先完成数据存储,按以下逻辑实现.工具:eclipse,oracle数据库, ...
- confluence+Mysql5.7 版本安装破解
此篇稍微过下msyql 的处理方案:其他详细请参照上一篇文章地址:https://www.cnblogs.com/flyrock/p/9693327.html mysql 最新版本8.0 有点坑,co ...
- hdu4678 Mine 规律或者博弈。(博弈的sg函数不懂我是找的规律)
链接:题意就是告诉你一个扫雷图里面每个雷的位置,有两个人,每个人都知道雷的确切位置,每个人一次可以点一部,问你谁能赢. 链接:http://acm.hdu.edu.cn/showproblem.php ...
- Zabbix在CentOS7上的安装方法:
).zabbix-server 要安装zabbix-server首先需要安装MySQL数据库,当然你可以将MySQL换成其他的数据库 1.1)创建zabbix数据库:CREATE DATABASE z ...
二分类:Logistic regression 多分类:Softmax分类函数 对于损失函数,我们求其最小值, 对于似然函数,我们求其最大值. Logistic是loss function,即: 在逻 ...
Linear Basis Function Models 线性模型的一个关键属性是它是参数的一个线性函数,形式如下: w是参数,x可以是原始的数据,也可以是关于原始数据的一个函数值,这个函数就叫bas ...
主讲人 planktonli planktonli(1027753147) 18:58:12 大家好,我负责给大家讲讲 PRML的第3讲 linear regression的内容,请大家多多指教,群 ...
Ref: http://blog.csdn.net/daunxx/article/details/51596877 Ref: https://www.youtube.com/watch?v=ipb2M ...
Introduction 一.Scikit-learning 广义线性模型 From: http://sklearn.lzjqsdd.com/modules/linear_model.html#ord ...
NB: 因为softmax,NN看上去是分类,其实是拟合(回归),拟合最大似然. 多分类参见:[Scikit-learn] 1.1 Generalized Linear Models - Logist ...
作者:桂. 时间:2017-05-22 15:28:43 链接:http://www.cnblogs.com/xingshansi/p/6890048.html 前言 本文主要是线性回归模型,包括: ...
梯度下降 一.亲手实现“梯度下降” 以下内容其实就是<手动实现简单的梯度下降>. 神经网络的实践笔记,主要包括: Logistic分类函数 反向传播相关内容 Link: http://pe ...
============================================================== Popular generalized linear models 将不同 ...
它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现 ...
sysbench 测试mysql TODO emacs
https://segmentfault.com/q/1010000005813183 一般只有移动版有这种需求,我们一般不去禁止,而是比例缩放,css实现,竖屏1rem = 9pt ,横屏1rem ...
1.响应式中注意的内容: 一行(row)必须在.container中. col-xs- col-sm- col-md- col-lg- 列偏移 .col-md-offset-* 列排序 .col-md ...
很久很久很久之前,我上传了几条数据库题目,并没有坚持,今天跟新一下进度吧,其实没啥难度w(* ̄︶ ̄)
在校招笔试中,有的时候我们要自己设计输入输出,下面罗列一些常见的输入输出: 首先把输入包加载进来: import java.util.* ; 一 ,输入 1,输入一个整数,浮点数,输入一个数组 : p ...
demo 设 计 一个知识点demo,在数据库和用户界面的互动事件.分三个层次,数据存储,数据方法工具,数据呈现界面.这一次先完成数据存储,按以下逻辑实现.工具:eclipse,oracle数据库, ...
此篇稍微过下msyql 的处理方案:其他详细请参照上一篇文章地址:https://www.cnblogs.com/flyrock/p/9693327.html mysql 最新版本8.0 有点坑,co ...
链接:题意就是告诉你一个扫雷图里面每个雷的位置,有两个人,每个人都知道雷的确切位置,每个人一次可以点一部,问你谁能赢. 链接:http://acm.hdu.edu.cn/showproblem.php ...
).zabbix-server 要安装zabbix-server首先需要安装MySQL数据库,当然你可以将MySQL换成其他的数据库 1.1)创建zabbix数据库:CREATE DATABASE z ...