机器学习之——多项式回归和正规方程

简介: 上一次我们分享了多变量线性回归模型(Linear Regression with Multiple Variables),这一次我们来讨论一下多项式回归(Polynomial Regression) 和正规方程(Normal Equation)。(我们还是讨论房价预测的问题) 多项式回归 有时候,线性回归并不适用于所有全部的数据,我们需要曲线来适应我们的数据,比如一个二次方模型:

上一次我们分享了多变量线性回归模型(Linear Regression with Multiple Variables),这一次我们来讨论一下多项式回归(Polynomial Regression) 正规方程(Normal Equation)(我们还是讨论房价预测的问题)


多项式回归

有时候,线性回归并不适用于所有全部的数据,我们需要曲线来适应我们的数据,比如一个二次方模型:


或者一个三次方模型:


这两个模型我们在坐标系绘图如下:


通常情况,我们需要先观察数据然后再去决定使用怎样的模型来处理问题。

除此之外,我们还可以使 :

这样便将高阶方程模型转换成线性回归模型。这也算是特征缩放(Features Scaling)的一种。

PS : 如果我们的模型采用多项式回归模型,在运行梯度下降算法之前,特征缩放是非常有必要的。


正规方程

到目前为止,我们学习讨论的机器学习算法,都是梯度下降算法(Grandient Descent)。但是对于某些回归问题,还有一种更好的解决方案,正规方程。

正规方程是通过求解下面的方程来找出使得代价函数最小的参数:


假设我们的训练特征矩阵为X(包含了X0=1)并且我们的训练集结果为向量 y ,则利用正规方程解出向量 :


标注:T表示矩阵X的转置,-1 表示矩阵X的逆

我们使用房价预测问题的数据:


数据包括四个特征(不包括X0),我们加入X0=1,这时候我们使用正规方程方法来求解:


在Matlab中,正规方程写作:pinv(X' * X)*X'*y

这里有一个需要注意的地方,有些不可逆的矩阵(通常是因为特征之间并不独立,比如同时包含英尺为单位的尺寸和米为单位的尺寸这两个特征,也有可能是特征数量大于训练集的数量,比如有2000个特征但是只有1000个训练集),正规方程方法是不能够使用的。

那么我们现在有两个机器学习的算法了,一个是梯度下降,一个是正规方程,两个方法比较如下:


至此,线性回归的问题我们就讨论到这儿。下一阶段我们将讨论逻辑回归问题(Logistic Regression)

相关文章
|
7月前
|
机器学习/深度学习 Python
【机器学习】正规方程
【1月更文挑战第23天】【机器学习】正规方程
|
7月前
|
机器学习/深度学习 算法 数据可视化
【机器学习】多项式回归
【1月更文挑战第27天】【机器学习】多项式回归
|
7月前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习】多项式回归、K近邻KNN回归的讲解及实战(图文解释 附源码)
【Python机器学习】多项式回归、K近邻KNN回归的讲解及实战(图文解释 附源码)
101 0
|
7月前
|
机器学习/深度学习 算法 TensorFlow
【Python机器学习】梯度下降法的讲解和求解方程、线性回归实战(Tensorflow、MindSpore平台 附源码)
【Python机器学习】梯度下降法的讲解和求解方程、线性回归实战(Tensorflow、MindSpore平台 附源码)
190 0
|
2月前
|
机器学习/深度学习 API
机器学习入门(七):线性回归原理,损失函数和正规方程
机器学习入门(七):线性回归原理,损失函数和正规方程
|
7月前
|
机器学习/深度学习
机器学习第5天:多项式回归与学习曲线
机器学习第5天:多项式回归与学习曲线
|
机器学习/深度学习 数据可视化 算法
机器学习系列6 使用Scikit-learn构建回归模型:简单线性回归、多项式回归与多元线性回归
在本文中,我们以美国南瓜数据为例,讲解了三种线性回归的原理与使用方法,探寻数据之间的相关性,并构建了6种线性回归模型。将准确率从一开始的0.04提升到0.96.
357 0
|
机器学习/深度学习 算法
学习笔记: 机器学习经典算法-多项式回归
机器学习经典算法-个人笔记和学习心得分享
146 0
|
机器学习/深度学习 算法 Python
学习笔记: 机器学习经典算法-多元线性回归的正规方程解
机器学习经典算法-个人笔记和学习心得分享
139 0
|
机器学习/深度学习 算法
机器学习中的数学原理——多项式回归
机器学习中的数学原理——多项式回归
359 0