AI 学习笔记

Logistic Regression 逻辑回归

可复习 · 待写自己的解释

本章材料

StatQuest: Logistic RegressionStatQuest with Josh Starmer · 从 0:00 开始 · 在 YouTube 打开StatQuest 用“按体重预测是否肥胖”举例;本页换成了投诉分级。

重点

  1. 词袋(bag-of-words):把一条投诉拆成词,只记录每个词出现了几次,不管词的顺序。
  2. 每个词有一个权重:正的权重把分数往“紧急”推,负的往“普通”推。
  3. 分数 = sigmoid(基础值 + 每个词的权重 × 出现次数)。 括号里的总和为 0 时,分数正好是 0.5。
  4. 训练:权重从 0 开始,每看一条样本,就朝“更贴近标签”的方向调一点(梯度下降),反复很多轮。
  5. 逻辑回归就是一个用 sigmoid 的神经元:加权求和、加上基础值(bias)、再经过 sigmoid,和 Activation 那一章完全一样。
由 Claude 根据 StatQuest 的 Logistic Regression 一集和本仓库的监督学习自学材料 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。

难点

  1. 模型只会朝“贴近标签”的方向调,它并不知道什么是真正的紧急。 标签有问题,模型会忠实地把问题学进去。
  2. 词袋看不懂否定和语序。 “没有被冻结”和“被冻结”在它眼里几乎一样。
  3. 训练数据里没出现过的词,权重一直是 0。 模型对它一无所知。
  4. 分数仍然不等于概率,除非专门做过校准。
由 Claude 根据 本仓库的监督学习自学材料 整理。读的时候哪一条看不懂,就把它记到「复习」的“我卡在哪里”。

动手看

词的权重 → 分数 手工设定的权重 · 示意

逻辑回归给每个词一个权重。把出现的词的权重加起来,再加上基础值,送进 sigmoid,就得到 0–1 之间的分数。

基础值 -1.0 + 冻结 +2.0 + ! +1.5 = 2.5 → sigmoid → 0.92

模型判断(门槛 0.5)紧急真实情况:紧急
判对了吗✓ 对
模型只看得到权重表里的词(“卡”“想问问”等词权重为 0),也看不懂否定和语序。权重为手工设定,不来自真实训练。

容易混淆的几个概念

概念是什么由谁决定
权重每个词把分数往哪边推、推多少训练时学出来
基础值(bias)一个词都没有时的起点训练时学出来
分数sigmoid 之后 0–1 之间的数每条投诉单独计算
门槛分数到多少算紧急人定的产品决策

一个记法:权重和基础值是学出来的,门槛是人定的。

学完了?去 复习 记下卡住的地方,或者直接 做测验。

来源

  • 学习材料:StatQuest《StatQuest: Logistic Regression》。
  • 词的权重是人工设定的教学数值,与 AI Product Design Lab 仓库自学材料里的手算例子相同;分数有测试保证(lib/ml-basics.test.ts)。

On this page