对数几率模型

回归问题的预测结果通常是在某区间内的一个连续值,例如

  • 根据最近三年的房屋交易情况,预测某套房屋的成交价格
  • 根据历史气象记录,预测某地某时刻的降水概率

数据分类问题通常为在一个可数集合内的离散值

  • 根据以往收到的邮件的特征,判定新邮件是否为垃圾邮件。
  • 根据以往病例,判定某个病人身患肿瘤的情况。良性或恶性?

可以通过一个单调可微函数将分类任务的类别标记与线性回归模型的预测值联系起来。

利用 Sigmoid 函数作为广义线性模型的预测函数 ,得到

其预测值 仍为连续区间 上的某个值。处理方法是确定一个阈值 使得

若将 视为样本 作为正例的可能性,则 是其作为反例的可能性,即

「几率」定义为 的比值

反映了 作为正例的相对可能性。对几率取对数得到「对数几率」(log odds,亦称为 logit)。即

注意,预测函数 实际上在用线性回归模型的预测结果去逼近真实标记的对数几率。因此,其对应的模型称为「对数几率回归」(Logistic Regression)。需要指出的是,虽然称之为回归,但是实际是一种数据分类方法。因其能直接对分类可能性进行建模,无需事先假设数据分布,可以避免假设分布不准确带来的问题。

凸性

Logistics 回归的目标函数表示为

二阶偏导

注意到 半正定矩阵,而且 ,因此当 是,,此时二阶导是半负定的,因此目标函数是非凸的。

而对于对数似然函数

求一阶导数

然后计算 Hessian 矩阵的元素为

因此整个 Hessian 矩阵的元素为

考虑任意非零向量 都有

注意到   其实就是 Sigmoid 函数 的导数,而 Sigmoid 是单调递增的,导数大于零,所以   是一系列正数的和,所以 Hessian 矩阵半正定,对数似然是凸函数。

训练

对训练集 ,如何确定 的参数

代价函数用于衡量模型预测值 与真实值 之间的差异。利用极大似然估计法设置代价函数,最大化对数似然

在正反两种情况下

代价函数

优化目标:,可以采用梯度下降法Newton 法

例题

如何预测住房 所在的小区档次

采用梯度下降法训练模型

在数据预处理阶段,我们令 表示高档, 表示中档,采用线性映射 归一化,

  • 面积归一化
    在训练过程
  1. 首先随机初始化 ,如初始化为均匀分布 ,本例的 是 2 维列向量。
  2. 计算出每个数据 的预测结果
  3. 以及当前预测结果 计算代价函数
  4. 求代价函数 关于 的梯度 ,并以 更新权值,其中 为常数步长
  5. 重复上述步骤,直到收敛