Featured image of post 机器学习 入门 线性回归(2)

机器学习 入门 线性回归(2)

线性回归笔记

3.4广义线性回归

一般形式:$y = g^{-1} \left( w^T x + b \right)$

单调可微的联系函数 (link function)

令 $g(\cdot) = \ln (\cdot)$ 则得到对数线性回归

$$\ln y = w^T x + b$$

实际上是在用$e^{w^T x + b}$逼近$y$

3.5对率回归

线性回归模型产生的实值输出 $z = w^T x + b$

期望输出 $y \in {0, 1}$

理想的"单位阶跃函数" (unit-step function)

$$y = \begin{cases} 0, & z < 0; \\ 0.5, & z = 0; \\ 1, & z > 0, \end{cases}$$

性质不好,需找"替代函数" (surrogate function)

常用单调可微、任意阶可导

$$y = \frac{1}{1 + e^{-z}}$$

找 $z$和 $y$的联系函数

对数几率函数 (logistic function) 简称"对率函数"

以对率函数为联系函数:$y = \frac{1}{1 + e^{-z}}$

变为$y = \frac{1}{1 + e^{-(w^T x + b)}}$

即:$\ln \left( \frac{y}{1 - y} \right) = w^T x + b$

$\ln \left( \frac{y}{1 - y} \right)$称为几率 (odds),反映了 $x$ 作为正例的相对可能性(log odds,亦称 logit)。

“对数几率回归”(logistic regression)简称“对率回归”

  • 无需事先假设数据分布
  • 可得到“类别”的近似概率预测
  • 可直接应用现有数值优化算法求取最优解

注意:它是分类学习算法!

3.6多分类任务

一对多(One-vs-Rest, OvR)

原理 为每个类别训练一个独立的二分类器,将该类别作为正类,其他所有类别合并作为负类

实现步骤

  1. 假设共有K个类别
  2. 训练K个二分类器(如逻辑回归、SVM等)
  3. 第i个分类器的训练数据:
    • 正样本:原始数据中标签为类别i的样本
    • 负样本:原始数据中标签不为类别i的所有样本
  4. 预测时:
    • 用所有K个分类器分别预测
    • 选择输出概率/分数最高的类别作为最终预测结果

特点

  • 优点:只需训练K个分类器,计算效率较高
  • 缺点:当类别数很多时,每个分类器的负样本会远多于正样本,导致类别不平衡问题

一对一(One-vs-One, OvO)

原理 为每两个类别组合训练一个独立的二分类器,专门区分这两个类别

实现步骤

  1. 假设共有K个类别
  2. 训练K×(K-1)/2个二分类器(如逻辑回归、SVM等)
  3. 每个分类器(i,j)的训练数据:
    • 只使用原始数据中标签为i或j的样本
    • 类别i作为正类,类别j作为负类(或反之)
  4. 预测时:
    • 让所有分类器进行预测并记录"投票"
    • 统计每个类别获得的票数
    • 选择得票数最多的类别作为最终预测结果

特点

  • 优点:每个分类器只关注两个类别,训练数据更均衡
  • 缺点:需要训练O(K²)量级的分类器,当K很大时计算开销显著增加
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计