← 返回目录

Chapter 04: 非线性回归

Nonlinear Regression

📖 本章概要

线性回归虽然简单,但并非万能。本章介绍如何采用非线性回归方法来解决线性回归不能解决的问题, 包括对数变换、多项式回归和逻辑回归。

4.1

线性回归

回顾与局限性

本书前文介绍过线性回归,白话说,线性回归使用直线、平面或超平面来预测。 多元线性回归的数学表达式为:y = b₀ + b₁x₁ + b₂x₂ + ... + bDxD + ε。 可以发现x₁, x₂, ..., xD这几个变量的次数都是一次,这也就是"线性"一词的来由。

💡 关键洞察:特征可以进行线性组合得到一系列新特征zk = φk(x₁, x₂, ..., xD), 然后用最小二乘求解回归系数。本书后续介绍的基于主成分分析的回归方法采用的就是这一思路。

✦
4.2

线性对数模型

通过对数变换将非线性转为线性

一些回归问题可以对输入或输出进行对数变换,之后构造线性模型。 常见的变换包括:对数-线性(ln y = b₀ + b₁x)、线性-对数(y = b₀ + b₁ln x)、 双对数(ln y = b₀ + b₁ln x)。

✦
4.3

非线性回归

建立自变量与因变量的非线性关系模型

非线性回归是一种回归分析方法,建立自变量与因变量之间的非线性关系模型, 用于预测连续变量的值。非线性回归需要应对线性回归无法解决的复杂问题。

有些情况下,简单的将数据做对数处理是不够的,需要对数据做进一步处理。 模型形式为:y = f(x) + ε,其中f(x)可以是任意函数, 比如多项式函数、逻辑函数、甚至是分段函数。

🎯 参数回归
• 多项式回归:通过高次项拟合曲线
• 逻辑回归:S型曲线,用于分类
• 分段函数:不同区间不同模型
• 假设函数形式,估计参数
🔍 非参数回归
• k-NN回归:最近邻平均值
• 核回归:加权平均
• 样条回归:分段多项式
• 不假设函数形式,让数据说话
✦
4.4

多项式回归

用高次多项式拟合非线性数据

多项式回归的形式为 ŷ = b₀ + b₁x + b₂x² + ... + bmxm, 其中m为多项式最高次数。通过增加高次项可以拟合复杂的非线性关系, 但次数过高容易导致过拟合。

公式 (11)
ŷ = b₀ + b₁x + b₂x² + ... + bmxm
m为多项式函数最高次项系数
关键要点
  • 可以拟合复杂曲线
  • 次数过高易过拟合
  • 需要在复杂度和泛化能力间平衡
✦
4.5

逻辑回归

S型曲线与二分类

逻辑回归使用逻辑函数(Sigmoid函数): f(x) = 1 / (1 + exp(-(b₀ + b₁x)))。 函数呈S形,取值范围[0, 1],常用于二分类问题, 输出可解释为"属于某类别的概率"。

公式 (14)
f(x) = 1 / (1 + exp(-(b₀ + b₁x)))
一元逻辑函数
应用场景
  • 二分类问题(y = 0 或 1)
  • 概率预测
  • 决策边界为 f(x) = 0.5
✦
4.6

逻辑函数完成分类问题

从回归到分类:鸢尾花数据集

逻辑回归虽然名为"回归",但常被用作分类模型,用于二分类或多分类。 本节使用sklearn.linear_model.LogisticRegression()逻辑回归模型, 根据鸢尾花花萼长度等特征数据进行分类。

📊 单特征分类
• 花萼长度 → 3类鸢尾花
• 概率密度估计
• S型概率曲线
• 阶梯状预测结果
🗺️ 双特征分类
• 花萼长度+宽度 → 3类
• 散点图+边际分布
• 概率预测曲面(等高线)
• 决策边界可视化
🎯 决策边界
• 分类决策的几何表示
• 不同类别概率相等处
• 线性或非线性边界
• 多分类形成复杂区域
✦

📋非线性回归方法总结

对数变换
将指数/对数/幂律关系转化为线性关系
多项式回归
用高次项拟合复杂曲线,注意过拟合风险
逻辑回归
S型曲线,适用于二分类和概率预测
模型选择
根据数据特征选择合适的非线性模型