机器学习笔记2:线性回归

2020-08-13 10:33:04 浏览数 (1)

这一篇笔记整理下线性回归(linear regression)的相关知识点。

线性回归,是指数据集的输出值y与特征值(x1, x2...)之间满足线性关系, 数学表达式为,

上式中的x_0值为1。

当数据集只有一个feature时,即为单变量线性回归,当含有多个feature时,即为多变量线性回归。举一个单变量线性回归的例子,下图为不同城市人口与相应酒店盈利的数据,蓝线对应最终学习到的模型,经营者可根据此模型来决策是否在新的城市开设酒店。

对于同一个数据集,满足要求的参数theta有许多组,究竟哪一组才是最优的?

此时需要引入代价函数(cost function)的概念,代价函数用来衡量模型预测值与输出值之间的差别。对于线性回归的问题,其代价函数定义为,

其中

需要做的是,找寻一组theta值,使得代价函数取极小值。

常用的两种算法是:

1)梯度下降法

通过迭代的方法,逐渐逼近最优的theta值,求解的过程示意图如下,

2)正规方程(normal equation)法

z

上式是通过求解

得到。可能存在的一个问题: X^T*X矩阵不可逆,可使用伪逆函数pinv()进行求解。

两种方法各有优势,主要区别如下:

a. 梯度下降法需要选择学习率alpha, 正规方程法不需要

b. 梯度下降法需要多次迭代,正规方程法只需要一步计算

c. 矩阵维度较大时,正规方程需要对大矩阵进行运算,运算时间较长,而梯度下降法没有此限制

d. 梯度下降法也适用去其他机器学习模型,而正规方程法只适用于线性回归模型

处理数据时,有时候会遇到某一个特征值较大的情况,如果直接处理该数据,会存在一定的问题。常用的做法是通过缩放(scaling),将特征值的数值控制在[-3,3]之间,

0 人点赞