统计机器学习 04:Logistic 回归与基扩展

墨尔本大学 COMP90051 课程笔记

Posted by YEY on November 8, 2019

Lecture 4 Logistic 回归与基扩展

主要内容

  • Logistic 回归
    • 一种主流的二分类算法
  • 基扩展
    • 通过数据转换扩展模型的表现能力
    • 线性回归和 Logistic 回归的例子
    • 理论注释

1. Logistic 回归模型

一种主流的二分类算法

1.1 二分类:例子

  • 例子:给定体重指数(BMI),患者是否患有 2 型糖尿病(T2D)?
  • 这种类型的问题称为二分类问题
  • 一种方法是采用线性回归
    • 用数据拟合一条直线 / 超平面 (找到权重 $\boldsymbol w$)
    • 记为 $s\equiv \boldsymbol{x’w}$
    • 如果 $s\ge 0.5$,预测为 “是”
    • 如果 $s< 0.5$,预测为 “否”

1.2 分类策略

  • 这种方法容易受到异常值的影响
  • 总体而言,最小二乘标准在这种情况下看起来不自然
  • 有许多专门针对二分类问题而开发的方法
  • 例如,Logistic 回归、感知器、支持向量机(SVM)

1.3 Logistic 回归模型

  • 概率分类方法
    • $P(Y=1\mid\boldsymbol x)=f(\boldsymbol x)=?$
    • 采用线性函数?例如:$s(\boldsymbol x)=\boldsymbol{x’w}$
  • 问题是:概率需要介于 0 到 1 之间。
  • Logistic 函数:$f(s)=\dfrac{1}{1+\exp(-s)}$
  • Logistic 回归模型:

    $P(Y=1 \mid \boldsymbol x)=\dfrac{1}{1+\exp(-\boldsymbol{x’w})}$

  • 等价于对数几率比的线性模型:

    $\log \dfrac{P(Y=1 \mid \boldsymbol x)}{P(Y=0 \mid \boldsymbol x)}=\boldsymbol{x’w}$

思考:Logistic 回归是一种线性方法吗?

1.4 Logistic 回归是一种线性分类器

  • Logistic 回归模型:

    $P(Y=1 \mid \boldsymbol x)=\dfrac{1}{1+\exp(-\boldsymbol{x’w})}$

  • 分类规则:

    如果 $P(Y=1 \mid \boldsymbol x)>\dfrac{1}{2}$ ,则分类为 “1”,否则分类为 “0”

  • 决策边界:

    $\dfrac{1}{1+\exp(-\boldsymbol{x’w})}=\dfrac{1}{2}$ ,即 $\boldsymbol{x’w}=0$

1.5 参数向量的影响(二维问题)

  • 决策边界是直线 $P(Y=1 \mid \boldsymbol x)=0.5$
    • 在高维问题中,决策边界是一个平面或者超平面
  • 向量 $\boldsymbol w$ 与决策边界呈直角
    • 即 $\boldsymbol w$ 是决策边界的法线
    • 注意:出于简化考虑,图中我们假设 $w_0=0$

1.6 线性 vs. Logistic 概率模型

  • 线性回归假设一个正态分布,具有固定的方差和均值,由线性模型给出:

    $p(y \mid \boldsymbol x)=Normal(\boldsymbol{x’w},\sigma^2)$

  • Logistic 回归假设一个伯努利分布,参数由线性模型的 Logistic 变换给出:

    $p(y \mid \boldsymbol x)=Bernoulli(\text{logistic}(\boldsymbol{x’w}))$

  • 回忆伯努利分布的定义:

    $p(1)=\theta$ 和 $p(0)=1-\theta$,其中 $\theta\in[0,1]$

  • 相当于:

    $p(y)=\theta^y(1-\theta)^{1-y}$,其中 $y\in{0,1}$

1.7 利用最大似然估计训练

  • 假设数据点之间互相独立,数据的概率为:

    $p(y_1,…,y_n \mid \boldsymbol x_1,…,\boldsymbol x_n)=\prod_{i=1}^{n}p(y_i \mid \boldsymbol x_i)$

  • 假设伯努利分布,可以得到:

    $p(y_i \mid \boldsymbol x_i)=(\theta(\boldsymbol x_i))^{y_i}(1-\theta(\boldsymbol x_i))^{1-y_i}$

    其中,$\theta(\boldsymbol x_i)=\dfrac{1}{1+\exp(-\boldsymbol{x’w})}$

  • 训练:最大化上式的权重 $\boldsymbol w$

1.8 采用 Log 技巧进行简化

  • 相比最大化似然函数,我们选择最大化其对数:

    \[\begin{eqnarray} \log\left(\prod_{i=1}^{n}p(y_i \mid \boldsymbol x_i)\right)&=&\sum_{i=1}^{n}\log p(y_i \mid \boldsymbol x_i)\\ &=& \sum_{i=1}^{n}\log\left((\theta(\boldsymbol x_i))^{y_i}(1-\theta(\boldsymbol x_i))^{1-y_i}\right)\\ &=& \sum_{i=1}^{n}\left(y_i\log(\theta(\boldsymbol x_i))+(1-y_i)\log(1-\theta(\boldsymbol x_i))\right)\\ &=& \sum_{i=1}^{n}\left((y_i-1)\boldsymbol x_i'\boldsymbol w-\log(1+\exp(-\boldsymbol x_i'\boldsymbol w))\right)\\ \end{eqnarray}\]

1.9 迭代优化

  • 训练 Logistic 回归相当于寻找使对数似然函数最大化的 $\boldsymbol w$
  • 解析方法:将目标函数的偏导数设为零,求解 $\boldsymbol w$
  • 坏消息:没有闭合解,必须采用迭代方法(例如:梯度下降、牛顿-拉弗森、迭代加权最小二乘)
  • 好消息:如果没有不相关特征,问题是严格凸的(碗形),可以保证优化方法是有效的

展望(Lecture 5):正则化可以帮助处理不相关特征

2. Logistic 回归:决策理论视角

其中损失函数就是交叉熵

2.1 交叉熵

  • 交叉熵是一种比较两个分布的方法
  • 交叉熵是对参考分布 $g_{ref}(a)$ 和估计分布 $g_{est}(a)$ 之间散度的一种度量。 对于离散分布:

    $H(g_{ref},g_{est})=-\sum\limits_{a\in A}g_{ref}(a)\log g_{est}(a)$

    其中,$A$ 是分布的支撑集,例如:$A={0,1}$

2.2 训练使得交叉熵最小化

  • 考虑一个单独数据点的对数似然函数:

    $\log p(y_i \mid \boldsymbol x_i)=y_i\log(\theta(\boldsymbol x_i))+(1-y_i)\log(1-\theta(\boldsymbol x_i))$

  • 上式为负交叉熵
  • 交叉熵:

    $H(g_{ref},g_{est})=-\sum_a g_{ref}(a)\log g_{est}(a)$

  • 参考(真实)分布为:

    $g_{ref}(1)=y_i$ 和 $g_{ref}(0)=1-y_i$

  • Logistic 回归将该分布估计为:

    $g_{ref}(1)=\theta(\boldsymbol x_i)$ 和 $g_{ref}(0)=1-\theta(\boldsymbol x_i)$

    它找到使得每个训练数据交叉熵的和最小化的 $\boldsymbol w$

3. 基扩展

通过数据转换扩展模型的可用性

3.1 线性回归的基扩展

  • 让我们后退一步。回到线性回归和最小二乘
  • 实际数据可能是非线性的
  • 如果我们仍然想使用线性回归,应该怎么办?
    • 因为它简单、易于理解、计算效率高等。
  • 如何将非线性数据与线性方法结合起来?

如果你无法击败他们,那就加入他们。

3.2 转换数据

  • 诀窍是转换数据:将数据映射到另一个特征空间,在该空间内数据是线性的
  • 将该转换记为 $\varphi:\Bbb R^m \rightarrow \Bbb R^k$

    如果 $\boldsymbol x$ 是原始特征集合,那么 $\varphi(\boldsymbol x)$ 表示新的特征集合

  • 例子:假设只有一个特征 $x$,数据点呈一条抛物线而非直线

3.3 例子:多项式回归

  • 别担心,我们可以定义:

    $\varphi_1(x)=x$

    $\varphi_2(x)=x^2$

  • 接下来,对 $\varphi_1$ 和 $\varphi_2$ 应用线性回归:

    $y=w_0+w_1\varphi_1(x)+w_2\varphi_2(x)=w_0+w_1x+w_2x^2$

    现在,我们得到了二次回归

  • 更一般地,如果新的属性集合是 $x$ 的幂,我们可以得到多项式回归

3.4 基扩展

  • 数据转换,也称为基扩展,是一种通用技术
    • 在整个课程中,我们将看到更多的例子
  • 它既可以用于回归问题,也可以用于分类问题
  • $\varphi$ 有很多可能的选择

3.5 Logistic 回归的基扩展

  • 二分类问题例子:数据集不是线性可分的
  • 定义转换:

    $\varphi_i(\boldsymbol x)=\|\boldsymbol x - \boldsymbol z_i\|$ ,其中 $\boldsymbol z_i$ 是某些预定义的常量

  • 选择 $\boldsymbol z_1=[0,0]’,\boldsymbol z_2=[0,1]’,\boldsymbol z_3=[1,0]’,\boldsymbol z_4=[1,1]’$

3.6 径向基函数

  • 上面的转换是使用径向基函数(RBF)的一个例子
    • 它们的使用来自近似理论,其中 RBF 的和用于对给定函数近似
  • 径向基函数的形式是:

    $\varphi(\boldsymbol x)=\psi(\|\boldsymbol x-\boldsymbol z\|)$ ,其中 $\boldsymbol z$ 是一个常量

  • 例子:
    • $\varphi(\boldsymbol x)=\|\boldsymbol x - \boldsymbol z\|$
    • $\varphi(\boldsymbol x)=\exp\left(-\dfrac{1}{\sigma}\|\boldsymbol x - \boldsymbol z\|^2\right)$

3.7 基扩展的挑战

  • 基扩展可以大大提高方法的可用性,尤其是线性方法
  • 在上面的例子中,一个局限是转换需要预先定义:
    • 需要选择新的数据集的尺度
    • 如果使用 RBF,需要选择 $\boldsymbol z_i$
  • 对于 $\boldsymbol z_i$,可以选择等距点,或者对训练数据进行聚类并使用聚类中心
  • 另一种常见做法是使用训练数据 $\boldsymbol z_i\equiv\boldsymbol x_i$
    • 例如: $\varphi_i(\boldsymbol x)=\psi(\|\boldsymbol x - \boldsymbol x_i\|)$
    • 然而,对于很大的数据集,这会导致特征数量巨大,使得计算困难

3.8 接下来的方向

  • 有几种途径可以将基扩展的思想带入一个新的层次
    • 在后面的学习中将会讨论
  • 一种想法是从数据中 学习 转换 $\varphi$
    • 例如:人工神经网络
  • 另一种强大的扩展是使用核方法
    • 例如:核感知器
  • 最后,在稀疏核机中,训练仅仅依赖于一些少量的数据点
    • 例如:SVM

总结

  • Logistic 回归
    • 主流的线性分类器
  • 基扩展
    • 通过数据转换扩展模型的表现能力
    • 线性回归和 Logistic 回归的相关例子
    • 理论解释

下节内容:正则化避免过拟合、病态优化;相关算法例子

知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 欢迎转载,并请注明来自:YEY 的博客 同时保持文章内容的完整和以上声明信息!