python学习——线性回归
一、线性回归简介
1、线性回归应用场景
房价预测、销售额度预测、贷款额度预测
2、什么是线性回归
线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式
特点:只有一个自变量的情况称为单变量回归,多于一个自变量情况的叫做多元回归
2.1 单变量线性回归
一种可能的表达方式为:ℎ𝜃 (𝑥) = 𝜃0 + 𝜃1𝑥,因为只含有一个输入变量,因此这样的问题叫作单变量线性回归问题
- ℎ 代表 代表学习算法的解决方案或函数,也称为hypothesis(假设),ℎ表示一个函数,也是模型,例如输入是房屋尺寸大小,输出是房屋的价格
- 𝑚 代表训练集中实例的数量
- 𝑥 代表特征/输入变量
- 𝑦 代表目标变量/输出变量
- (𝑥, 𝑦) 代表训练集中的实例
- 代表第𝑖 个观察实例
2.2 多变量线性回归
多维特征
仍以房价模型为例,对模型增加更多的特征,例如房间的数量,楼层数和房屋的年龄等,构成一个含有多变量的模型,模型中的特征为(x1,x2,…,xn), 增添更多特征后,我们引入新的注释:
- n 代表特征的数量
- 代表第i个训练实例,表示特征矩阵中的第i行,是一个向量,比如说,上图的
- 代表特征矩阵中第 𝑖 行的第 𝑗 个特征,也就是第 𝑖 个训练实例的第 𝑗 个特征
这个时候的假设函数也就相应变成了:
这个公式中有n+1个参数和n个变量,为了能够使公式简化一些,引入,则公式转化为:
此时该模型中的参数和变量都是n+1维的向量,可以写成如下的形式:
,所以,其中上标T代表矩阵的转置
特征和多项式回归
线性回归并不适用于所有的数据,有时我们需要曲线来适应我们的数据,比如是一个二次方模型,或一个三次方模型,通常我们需要先观察数据然后再决定准备尝试怎样的模型
注:如果我们采用多项式回归模型,在运行梯度下降算法前,特征缩放非常有必要 (下面)
3、线性回归步骤
- 假设目标值(因变量y)与特征值(自变量x)之间线性关系(即满足一个多元一次方程,如:f(x)=w1x1+…+wnxn+b.)
- 构建损失函数(下面)
- 通过损失函数的最小值,最后确定参数(最重要的一步)
4、线性回归的特征与目标的分析关系
线性回归当中主要有两种模型,一种是线性关系,另一种是非线性关系(如多变量回归中多项式)
5、优缺点
5.1优点
- 运算速度快:由于算法很简单,而且符合非常简洁的数学原理,不管是建模速度,还是预测速度都
是非常快的 - 可解释性强:由于最终我们可以得到一个函数公式,根据计算出的公式系数就可以很明确地知道每
个变量的影响大小 - 对线性关系拟合效果好:当然,相比之下,如果数据是非线性关系,那么就不合适了