一、概念
下面这种模型只有一个特征(feature):x,模型参数是w,b
下面这种模型有多个特征,即有多特征的多元线性回归模型,模型参数是,
,
,
,b
以下图为例,房价的影响因素有面积、房间数、楼层数、房龄,分别用、
、
、
替代
二、多元线性回归的向量表达
:第j个特征
n:特征个数
:训练集第i组的特征,用向量表示,如第3组特征值为[1534,3,2,30,315]
:训练集第i组中,第j个特征,如
=3
,此模型可简化为:
,这种表达方式更加简洁
其中,是向量点积
三、代码中的向量计算
方式一:直接用for循环把和
相乘
方式二:使用numpy库,用向量方式计算
当特征很多时,优先使用numpy库,因为:1、代码简洁;2、运行速度更快
numpy的运行速度更快的原因是,numpy支持并行硬件,如下图所示,和
相乘是并行的。而for循环的方式,
和
相乘是串行的。
四、多元线性回归的梯度下降
多元线性回归的梯度下降,每次更新:,
,...,
,b(n为特征数量)
推导为:
五、Normal Equation
Normal Equation是一步到位求解线性回归代价函数的算法。优点是不需要进行迭代,缺点是仅适用于线性回归模型,求解速度慢。
原理是线性回归的代价函数中,当导数为0时,代价函数值最小,因此只需要求解导数为0时的参数,就可以得出最优模型。
具体推导:
https://zhuanlan.zhihu.com/p/60719445
学习来源:B站吴恩达:5.1-5.4节