机器学习方法:回归(一):线性回归Linear regression

开一个机器学习方法科普系列:做基础回想之用。学而时习之;也拿出来与大家分享。数学水平有限,仅仅求易懂,学习与工作够用。周期会比較长。由于我还想写一些其它的,呵呵。

content:

linear regression, Ridge, Lasso

Logistic Regression, Softmax

Kmeans, GMM, EM, Spectral Clustering

Dimensionality Reduction: PCA、LDA、Laplacian Eigenmap、 LLE、 Isomap(改动前面的blog)

SVM

ID3、C4.5

Apriori,FP

PageRank

minHash, LSH

Manifold Ranking,EMR

待补充

開始几篇将具体介绍一下线性回归linear regression,以及加上L1和L2的正则的变化。

后面的文章将介绍逻辑回归logistic regression。以及Softmax regression。为什么要先讲这几个方法呢?由于它们是机器学习/深度学习的基石(building block)之中的一个。而且在大量教学视频和教材中重复被提到。所以我也记录一下自己的理解,方便以后翻阅。这三个方法都是有监督的学习方法,线性回归是回归算法,而逻辑回归和softmax本质上是分类算法(从离散的分类目标导出),只是有一些场合下也有混着用的——如果目标输出值的取值范围和logistic的输出取值范围一致。

ok,废话不多说。

1、Linear Regression

能够说基本上是机器学习中最简单的模型了,可是实际上其地位非常重要(计算简单、效果不错。在非常多其它算法中也能够看到用LR作为一部分)。

先来看一个小样例,给一个“线性回归是什么”的概念。图来自[2]。

如果有一个房屋销售的数据例如以下:

面积(m^2) 销售价钱(万元)

123 250

150 320

87 160

102 220

… …

当我们有非常多组这种数据。这些就是训练数据,我们希望学习一个模型,当新来一个面积数据时。能够自己主动预測出销售价格(也就是上右图中的绿线);这种模型必定有非常多。当中最简单最朴素的方法就是线性回归,也就是我们希望学习到一个线性模型(上右图中的红线)。只是说是线性回归,学出来的不一定是一条直线,仅仅有在变量x是一维的时候才是直线,高维的时候是超平面。

定义一下一些符号表达,我们通常习惯用X=(x1,x2,...,xn)T∈Rn×p表示数据矩阵,当中xi∈Rp表示一个p维度长的数据样本;y=(y1,y2,...,yn)T∈Rn表示数据的label,这里仅仅考虑每个样本一类的情况。

线性回归的模型是这种。对于一个样本xi,它的输出值是其特征的线性组合:

f(xi)=∑m=1pwmxim+w0=wTxi

当中。w0称为截距。或者bias。上式中通过添加xi0=1把w0也吸收到向量表达中了,简化了形式,因此实际上xi有p+1维度。

线性回归的目标是用预測结果尽可能地拟合目标label,用最常见的Least square作为loss function:

J(w)=1n∑i=1n(yi?f(xi))2=1n∥y?Xw∥2

从下图来直观理解一下线性回归优化的目标——图中线段距离(平方)的平均值,也就是最小化到切割面的距离和。

也就是非常多中文教材中提到的最小二乘;线性回归是convex的目标函数,而且有解析解:

w^=(XTX)?1XTy

线性回归到这里就训练完毕了,对每个样本点的预測值是f(xi)=yi^=w^Txi。

所以:

y^=Xw^=X(XTX)?1XTy

接下来看一下我们寻找到的预測值的一个几何解释:从上面的解析解w^=(XTX)?1XTy能够得到XT(y^?y)=0(垂直的向量相乘=0)。因此实际上y^是y在平面X(由列向量x1和x2张成。如果仅仅有两维)上的投影。

ok,一般介绍线性回归的文章到这里也就结束了,由于实际使用中基本就是用到上面的结果,解析解计算简单而且是最优解;当然如果求逆不好求的话就能够不用解析解,而是通过梯度下降等优化方法来求最优解,梯度下降的内容不在本篇中,后面讲逻辑回归会说到。也能够看我前面写的今天開始学PRML第5章中有写到。或者直接翻阅wikipedia:gradient descent

只是在这里我再略微提几个相关的分析,能够參考ESL[3]的第3章中的内容。前面我们对数据本身的分布是没有不论什么如果的。本节以下一小段我们如果观察值yi都是不相关的,而且方差都是σ2。而且样本点是已知(且是中心化过了的。均值为0)的。

于是我们能够推出协方差矩阵

Var(β^)=(XTX)?1σ2

证明:

Var(β^)=(XTX)?1XTyytX(XTX)?1=(XTX)?1σ2

要预计方差σ2。能够用

σ^2=1n?p?1∑i=1n(yi?y^i)2

这里和一般的方差的形式看起来不同,分母是n?p?1而不是n,是由于这种预计才是σ2的无偏预计。

证明:

E(σ^2)=E(1n?p?1∑i=1n(yi?y^i)2)=E(1n?p?1[y?X(XTX)?1XTy]T[y?X(XTX)?1XTy])=E(1n?p?1yT[In?X(XTX)?1XT]y)=nσ2n?p?1?1n?p?1tr(X(XTX)?1XTyyT)=nσ2n?p?1?σ2n?p?1tr(X(XTX)?1XT)=nσ2n?p?1?(p+1)σ2n?p?1=σ2

好,第一篇就写到这里。这个系列是从0開始的基础复习记录。力求清晰易懂。下一篇lasso和ridge regression。

參考资料

[1]http://freemind.pluskid.org/machine-learning/sparsity-and-some-basics-of-l1-regularization/

[2]http://www.cnblogs.com/LeftNotEasy/archive/2010/12/05/mathmatic_in_machine_learning_1_regression_and_gradient_descent.html

[3]The Elements of Statistical Learning,ch3

时间: 2024-10-14 21:20:24

机器学习方法:回归(一):线性回归Linear regression的相关文章

机器学习方法(一):线性回归Linear regression

开一个机器学习方法科普系列,也做基础回顾之用.学而时习之. content: linear regression, Ridge, Lasso Logistic Regression, Softmax Kmeans, GMM, EM, Spectral Clustering Dimensionality Reduction: PCA.LDA.Laplacian Eigenmap. LLE. Isomap(修改前面的blog) SVM C3.C4.5 Apriori,FP PageRank minH

Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machine

Ng第二课:单变量线性回归(Linear Regression with One Variable)

二.单变量线性回归(Linear Regression with One Variable) 2.1  模型表示 2.2  代价函数 2.3  代价函数的直观理解 2.4  梯度下降 2.5  梯度下降的直观理解 2.6  梯度下降的线性回归 2.7  接下来的内容 2.1  模型表示 之前的房屋交易问题为例,假使我们回归问题的训练集(Training Set)如下表所示: 我们将要用来描述这个回归问题的标记如下: m                代表训练集中实例的数量 x          

多元线性回归(Linear Regression with multiple variables)与最小二乘(least squat)

1.线性回归介绍 X指训练数据的feature,beta指待估计得参数. 详细见http://zh.wikipedia.org/wiki/%E4%B8%80%E8%88%AC%E7%BA%BF%E6%80%A7%E6%A8%A1%E5%9E%8B 使用最小二乘法拟合的普通线性回归是数据建模的基本方法. 令最小二乘项的偏导为0(为0时RSS项最小),求Beta估计值,得到最小二乘的向量形式. 最小二乘其实就是找出一组参数beta使得训练数据到拟合出的数据的欧式距离最小.如下图所示,使所有红点(训练

机器学习 Machine Learning(by Andrew Ng)----第二章 单变量线性回归(Linear Regression with One Variable)

第二章 单变量线性回归(Linear Regression with One Variable) <模型表示(Model Representation)>                                                             <代价函数(Cost Function)>                                                          <梯度下降(Gradient Descent)

机器学习 (一) 单变量线性回归 Linear Regression with One Variable

文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang和 JerryLead 的个人笔记,为我做个人学习笔记提供了很好的参考和榜样. § 1.  单变量线性回归 Linear Regression with One Variable 1. 代价函数Cost Function 在单变量线性回归中,已知有一个训练集有一些关于x.y的数据(如×所示),当我们的预测值

机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)

最近在Coursera上看吴大神的Machine Learning,感觉讲的真的很棒.所以觉得应该要好好做做笔记,一方面是加强自己对ML中一些方法的掌握程度和理解,另一方面也能方便自己或者同样爱好ML的同学. 线性回归(Linear Regression) 线性回归(Linear Regression)应该是机器学习中最基本的东西了.所谓回归,想必大家在高中时期的课程里面就接触过,给定一系列离散的点(x0,y0),求一条直线 f(x)=ax+b 以使得最小.在machine learning 中

Stanford公开课机器学习---2.单变量线性回归(Linear Regression with One Variable)

单变量线性回归(Linear Regression with One Variable) 2.1 模型表达(Model Representation) m 代表训练集中实例的数量 x 代表特征/输入变量 y 代表目标变量/输出变量 (x,y) 代表训练集中的实例 (x(i),y(i) ) 代表第 i 个观察实例 h 代表学习算法的解决方案或函数也称为假设(hypothesis) 单变量线性回归:只含有一个特征/输入变量 x hθ=θ0+θ1x 2.2 代价函数(Cost Function) 目标

Machine_learning_cs229线性回归 Linear regression(2)

这篇博客针对的AndrewNg在公开课中未讲到的,线性回归梯度下降的学习率进行讨论,并且结合例子讨论梯度下降初值的问题. 线性回归梯度下降中的学习率 上一篇博客中我们推导了线性回归,并且用梯度下降来求解线性回归中的参数.但是我们并没有考虑到学习率的问题. 我们还是沿用之前对于线性回归形象的理解:你站在山顶,环顾四周,寻找一个下山最快的方向走一小步,然后再次环顾四周寻找一个下山最快的方向走一小步,在多次迭代之后就会走到最低点.那么在这个理解中,学习率其实是什么呢?学习率就是你走的步子有多长. 所以