📖 本章概要
线性回归虽然简单,但并非万能。本章介绍如何采用非线性回归方法来解决线性回归不能解决的问题, 包括对数变换、多项式回归和逻辑回归。
线性回归
回顾与局限性
本书前文介绍过线性回归,白话说,线性回归使用直线、平面或超平面来预测。 多元线性回归的数学表达式为:y = b₀ + b₁x₁ + b₂x₂ + ... + bDxD + ε。 可以发现x₁, x₂, ..., xD这几个变量的次数都是一次,这也就是"线性"一词的来由。
💡 关键洞察:特征可以进行线性组合得到一系列新特征zk = φk(x₁, x₂, ..., xD), 然后用最小二乘求解回归系数。本书后续介绍的基于主成分分析的回归方法采用的就是这一思路。
线性对数模型
通过对数变换将非线性转为线性
一些回归问题可以对输入或输出进行对数变换,之后构造线性模型。 常见的变换包括:对数-线性(ln y = b₀ + b₁x)、线性-对数(y = b₀ + b₁ln x)、 双对数(ln y = b₀ + b₁ln x)。
非线性回归
建立自变量与因变量的非线性关系模型
非线性回归是一种回归分析方法,建立自变量与因变量之间的非线性关系模型, 用于预测连续变量的值。非线性回归需要应对线性回归无法解决的复杂问题。
有些情况下,简单的将数据做对数处理是不够的,需要对数据做进一步处理。 模型形式为:y = f(x) + ε,其中f(x)可以是任意函数, 比如多项式函数、逻辑函数、甚至是分段函数。
🎯 参数回归
🔍 非参数回归
多项式回归
用高次多项式拟合非线性数据
多项式回归的形式为 ŷ = b₀ + b₁x + b₂x² + ... + bmxm, 其中m为多项式最高次数。通过增加高次项可以拟合复杂的非线性关系, 但次数过高容易导致过拟合。
公式 (11)
关键要点
- 可以拟合复杂曲线
- 次数过高易过拟合
- 需要在复杂度和泛化能力间平衡
逻辑回归
S型曲线与二分类
逻辑回归使用逻辑函数(Sigmoid函数): f(x) = 1 / (1 + exp(-(b₀ + b₁x)))。 函数呈S形,取值范围[0, 1],常用于二分类问题, 输出可解释为"属于某类别的概率"。
公式 (14)
应用场景
- 二分类问题(y = 0 或 1)
- 概率预测
- 决策边界为 f(x) = 0.5
逻辑函数完成分类问题
从回归到分类:鸢尾花数据集
逻辑回归虽然名为"回归",但常被用作分类模型,用于二分类或多分类。 本节使用sklearn.linear_model.LogisticRegression()逻辑回归模型, 根据鸢尾花花萼长度等特征数据进行分类。