线性模型
今天我们来讨论一下线性模型,之前已经了解到线性模型来做回归问题,所谓回归问题就是根据给定样本数据训练出一个线性模型,然后用这个线性模型来估计新样本的值。通常模型都是下面样子
监督学习中样本通常都是这个样,是一个 n 维特征的向量和 y 是样本的标签。在回归问题中 y 是具体数值而在分类问题中 y 是表示样本所属的类别。
准备数据
定义模型
我们要求就是 线性方程的参数,通常表示
这里 表示偏置。
目标函数
通过计算样本点到线性模型(直线或超平面)距离来评估我们模型对数据拟合程度,较少每一个点到线距离是我们的目标,我们目标就是让目标函数(也叫损失函数)取值最小,这里用 的作为点到线距离,大家可能会有疑问点到直线距离不是从点引一条直线的垂线,其实他们是等价的问题,并不是求距离的问题而是减少距离的优化问题。
一旦我们确定 确定,无论点到直线距离是点通过引用垂线来作为距离,还是用于估计 y 减去真实值 y 都是等同。
之前我们都是通过梯度下降方式来
通过通过不断迭代来优化参数 来找到最优解。这是之间我们做回归问题的一般步骤。
这是之前通过回归我们已经了解到了线性模型,今天我们来系统学习线性模型。
最小二乘法
在线性问题中,我们找到一条直线来拟合样本,通过一条直线来拟合数据,然后计算点到直线距离来评估
将我们问题用线性方程组来表示
现在尝试用用矩阵形式来表示这个线性方程组,矩阵 A 表示我们样本,每一行表示一个样本,这里有 N 个样本,小写 n 表示每一个样本的特征数量。
在 A矩阵中第一列是作为 (截距)准备的样本的一个特征。
这里 是 (n+1) * 1 的参数矩阵,那么表示标签 y 是 N * 1 的向量
有了矩阵表示形式,我们就可以用矩阵形式来表示我们损失函数
这里我们对矩阵进行求模,然后进行化简,详细推导过程如下。
这里和 是标量,那么我么看为什么他们是标量是 的向量而A是 乘积结果就是 向量乘以 所以 是一个标量。
有关矩阵求导大家已经了解到有以下公式
然后我们可以开始对矩阵求的偏导,化简得到下面公式
这一部分 是求导的难点,接下来我们重点就是攻克这部分求导。
有关矩阵求导我们先介绍一个公式
这里 u v 是关 x 的函数,我们在线性代数已经学习过有关矩阵求导,上面就是对矩阵进行求导中一个公式,在接下来对到中我们会用这个公式,如果大家还不了解可以回去看看线性代数。
进一步来看我们引入方阵 B 注意这里是方阵然后我们 BX 看成一个整体来解决下面问题。
我们知道 是一个方阵,这样我们问题就好解决了。我们通过上面推导等式
网友评论