二 连续苦情剧:机器学习入门笔记:线性模型( 二 )


2.3 多元线性回归
前面是直线拟合 , 样例只有一个属性 。对于样例包含多个属性的情况 , 我们就要用到多元线性回归()(又称作多变量线性回归)了 。
令^w = (W; b) , 把数据集表示为 m * (d + 1) 大小的矩阵 X , 
每一行对应一个样例 , 前 d 列是样例的 d 个属性 , 最后一列恒置为1 , 对应偏置项 。样例的实值标记也写作向量形式 , 记作 y 。则此时损失函数为:
同样使用最小二乘法进行参数估计 , 首先对 ^w 求导:
解析
令该式值为0可得到 ^w 的闭式解:
这就要求 (XT)X 必须是可逆矩阵, 也即必须是满秩矩阵(full-rank )或者是正定矩阵() , 这是线性代数方面的知识 , 书中并未展开讨论 。但是!现实任务中(XT)X往往不是满秩的, 很多时候 X 的列数很多 , 甚至超出行数(例如推荐系统 , 商品数是远远超出用户数的) , 此时 (XT)X 显然不满秩 , 会解出多个 ^w 。这些解都能使得均方误差最小化 , 选择哪一个解作为输出 , 这时就需要由学习算法的归纳偏好决定了 , 常见的做法是引入正则化() 项 。
2.4 广义线性模型
除了直接让模型预测值逼近实值标记 y , 我们还可以让它逼近 y 的衍生物 , 这就是广义线性模型(model)的思想 , 也即:
其中 g(.) 称为联系函数(link ) , 要求单调可微 。使用广义线性模型我们可以实现强大的非线性函数映射功能 。比方说对数线性回归(log- ) , 令 g(.) = ln(.) , 此时模型预测值对应的是实值标记在指数尺度上的变化:
三.对数几率回归(逻辑回归)
前面说的是线性模型在回归学习方面的应用 , 这节开始就是讨论分类学习了 。
线性模型的输出是一个实值 , 而分类任务的标记是离散值 , 怎么把这两者联系起来呢?
其实广义线性模型已经给了我们答案 , 我们要做的就是找到一个单调可微的联系函数 , 把两者联系起来 。
对于一个二分类任务 , 比较理想的联系函数是单位阶跃函数(unit-step ):
但是单位阶跃函数不连续 , 所以不能直接用作联系函数 。这时思路转换为如何在一定程度上近似单位阶跃函数呢?对数几率函数( )正是我们所需要的常用的替代函数(注意这里的 y 依然是实值):
对数几率函数有时也称为对率函数 , 是一种函数(即形似S的函数) 。将它作为 g(.) 代入广义线性模型可得:
该式可以改写为:
其中 , y / (1 - y) 称作几率(odds)我们可以把 y 理解为该样本是正例的概率 , 把 1?y 理解为该样本是反例的概率 , 而几率表示的就是该样本作为正例的相对可能性 。若几率大于1 , 则表明该样本更可能是正例 。对几率取对数就得到对数几率(log odds , 也称为logit) 。几率大于1时 , 对数几率是正数 。
由此可以看出 , 对数几率回归的实质使用线性回归模型的预测值逼近分类任务真实标记的对数几率 。
它有几个优点:
直接对分类的概率建模 , 无需事先假设数据分布 , 从而避免了假设分布不准确所带来的问题;不仅可预测出“类别” , 还能得到该预测的近似概率 , 这对一些利用概率辅助决策的任务很有用;对数几率函数是任意阶可导的凸函数 , 有很好的数学性质 , 有许多数值优化算法都可以求出最优解 。3.1 最大似然估计