线性回归之问题建模

考虑下图所示数据集:

 这是一个关于居住面积,卧室数量和房屋价格的数据集。

对于这个数据集,x就是二维的向量,因为每一个训练样本包含两个属性(居住面积,卧室数量)。

为了进行监督学习,必须提出一个合理的假设或函数,假如我们用线性函数

去近似y(对于上述数据集y就是房屋的价格),xi(i = 1,2,...m)代表第i个训练样本,θ就是我们要学习的参数,也可称之为权重。

现在知道训练集,该如何选择参数呢?我们的目的就是使得h(x)与y越接近越好,至少对于训练集如此。

所以定义一个损失函数(cost function)

要满足学习目的,显然损失函数值越小越好,也就是说我们要优化损失函数,当损失函数最小时的参数就是我们要选择的参数。这就是典型的最小二乘法。

下面用梯度下降来最小化损失函数J(θ),更新公式如下:

α是学习率,根据实际情况自己设定,所以关键是对J(θ)关于θ的求导:

于是,可以得出关于参数更新的最终表达式:

这条更新规则被称之为LMS(least mean squares)更新规则.自然而然且直观上理解就是当误差项很小的情况下,就是我们的预测和实际值很接近的时候,对当前的参数就只需作出很小的改变,但是当这个误差项的值较大的时候,就是说预测和实际值的差别比较大,就需要我们对参数做出较大的改变。

值得注意的是,上面的更新规则只针对了一个训练样本j,但是我们需要对整个训练集中的训练样本进行训练,而不只是某一个样本决定最终的参数。所以需要对上述参数更新公式做出调整,第一种调整如下:

m是训练集中的样本数。这种更新方式下,每次更新一个参数θj需要遍历到训练集中的每一个样本,因此被称之为批量梯度下降(batch gradient descent),样本数量小的时候是完全可以,但是当样本数量非常巨大的时候,这样更新会使得算法效率很低,可以考虑下面的更新方式:

对于这种方式,每一步更新只需考虑一个训练样本,大大加速了参数更新的速度,因此被称之为随机梯度下降(stochastic gradient descent),但是这种更新方式有可能无法收敛到最小值,而是在最小值附近徘徊,庆幸的是虽然不能达到最小值,但是在实际中已经很接近最小值了,所以特别在样本数量非常巨大的时候,随机梯度下降要比批量梯度下降更好。

时间: 2024-10-21 10:59:52

线性回归之问题建模的相关文章

线性回归、岭回归和LASSO回归

尽管有些内容还是不懂,先截取的摘录. 1.变量选择问题:从普通线性回归到lasso 使用最小二乘法拟合的普通线性回归是数据建模的基本方法.其建模要点在于误差项一般要求独立同分布(常假定为正态)零均值.t检验用来检验拟合的模型系数的显著性,F检验用来检验模型的显著性(方差分析).如果正态性不成立,t检验和F检验就没有意义. 对较复杂的数据建模(比如文本分类,图像去噪或者基因组研究)的时候,普通线性回归会有一些问题:(1)预测精度的问题 如果响应变量和预测变量之间有比较明显的线性关系,最小二乘回归会

多元线性回归(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使得训练数据到拟合出的数据的欧式距离最小.如下图所示,使所有红点(训练

岭回归和lasso回归(转)

回归和分类是机器学习算法所要解决的两个主要问题.分类大家都知道,模型的输出值是离散值,对应着相应的类别,通常的简单分类问题模型输出值是二值的,也就是二分类问题.但是回归就稍微复杂一些,回归模型的输出值是连续的,也就是说,回归模型更像是一个函数,该函数通过不同的输入,得到不同的输出. 那么,什么是线性回归,什么是非线性回归呢? 线性回归与非线性回归 前面说了,我们的回归模型是一个函数是吧,那么线性回归就是模型函数是由若干个基本函数线性加权得到的函数.也就是每一个基本函数前面都有一个权值来调和自己对

机器学习——树回归

线性回归创建模型需要拟合所有的样本点(局部加权线性回归除外).当数据拥有众多特征并且特征之间关系十分复杂的时候,构建全局模型的想法就显得太难了,也略显笨拙.而且,实际生活中很多问题都是非线性的,不可能使用全局限性模型来拟合任何数据. 一种可行的方法是将数据集切分成很多份易建模的数据,然后再利用线性回归技术来建模.如果首次切分之后仍然难以拟合线性模型就继续切分. 决策树是一种贪心算法,它要在给定时间内做出最佳选择,但是并不关心能否达到全局最优. CART(classification and re

CART分类与回归树与GBDT(Gradient Boost Decision Tree)

一.CART分类与回归树 资料转载: http://dataunion.org/5771.html Classification And Regression Tree(CART)是决策树的一种,并且是非常重要的决策树,属于Top Ten Machine Learning Algorithm.顾名思义,CART算法既可以用于创建分类树(Classification Tree),也可以用于创建回归树(Regression Tree).模型树(Model Tree),两者在建树的过程稍有差异.CAR

机器学习经典算法详解及Python实现--CART分类决策树、回归树和模型树

摘要: Classification And Regression Tree(CART)是一种很重要的机器学习算法,既可以用于创建分类树(Classification Tree),也可以用于创建回归树(Regression Tree),本文介绍了CART用于离散标签分类决策和连续特征回归时的原理.决策树创建过程分析了信息混乱度度量Gini指数.连续和离散特征的特殊处理.连续和离散特征共存时函数的特殊处理和后剪枝:用于回归时则介绍了回归树和模型树的原理.适用场景和创建过程.个人认为,回归树和模型树

数学建模算法(八):线性回归

1.多元线性回归 pho<-c( 0.69907424, 0.731751977, 0.82038317, 0.817860678, 0.793782346, 0.791145196 ) waitt<-c( 6.746842414, 7.033822049, 7.951127237, 7.92172466, 7.65163524, 7.623168881 ) pho<-log(pho) waitt<-log(waitt) m1<-30*c(10,25,14,14,0,0) #

线性回归

线性回归简介 线性回归是指利用线性回归方程中的最小平方函数对一个或多个自变量和因变量之间的关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性组合. 案例简介 本案例中的数据是一组男孩年龄与身高的数据,我们将年龄作为自变量,身高作为因变量,二组数据分别从.dat文件中读取,最后拟合出一个线性关系式. 具体分析见http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearni

Spark MLlib Linear Regression线性回归算法

1.Spark MLlib Linear Regression线性回归算法 1.1 线性回归算法 1.1.1 基础理论 在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性组合. 回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析.如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间