分类与逻辑回归 - 一个完整的guide
线性回归和逻辑回归其实比你想象的更相似 😃
它们都是所谓的参数模型。让我们先看看什么是参数模型,以及它们与非参数模型的区别。
线性回归 vs 逻辑回归
- 线性回归:用于回归问题的线性参数模型。
- 逻辑回归:用于分类问题的线性参数模型。
参数回归模型:
- 假设函数形式
- 模型假设特定的数学方程(如线性、多项式)。
- 例:在线性回归中,模型假设如下形式:
Y = β 0 + β 1 X 1 + β 2 X 2 + ⋯ + β n X n + ϵ Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + \dots + \beta_nX_n + \epsilon Y=β0+β1X1+β2X2+⋯+βnXn+ϵ
其中 β i \beta_i βi 是参数, ϵ \epsilon ϵ 是误差项。
- 参数数量固定
- 模型复杂度由一组固定参数决定,与训练数据量无关。
- 学习高效
- 由于模型结构预先定义,训练参数模型通常计算高效。
- 可解释性强
- 许多参数模型(如线性回归)具有可解释性,便于理解每个特征对预测的影响。
- 用有限参数总结数据的模型。
- 对数据分布有假设。
- 如线性/逻辑回归、神经网络
非参数模型:
- 无法用有限参数描述的模型。
- 对数据分布无假设。
- 如基于实例的学习,使用训练数据生成假设
- 例子:kNN 和决策树
逻辑(Sigmoid)函数
f ( x ) = 1 1 + e − x f(x) = \frac{1}{1 + e^{-x}} f(x)=1+e−x1
其导数为:
f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f'(x) = f(x)(1 - f(x)) f′(x)=f(x)(1−f(x))
这说明:
- 任意点的导数取决于该点的函数值
- 当 f(x) 接近 0 或 1 时,导数变得很小
- 当 f(x) = 0.5(Sigmoid 曲线中点)时导数最大
这个性质使得 sigmoid 在机器学习中很有用:
- 它将输入"压缩"到 [0,1] 区间
- 导数易于计算(只需输出乘以 1 减自身)
- 在 0 和 1 附近导数很小,有助于防止权重更新过大
def sigmoid(x):return 1 / (1 + np.exp(-x))def sigmoid_derivative(x):fx = sigmoid(x)return fx * (1 - fx)
多元 sigmoid 函数
f ( x , y ) = 1 1 + e − ( a x + b y + c ) f(x, y) = \frac{1}{1 + e^{-(ax + by + c)}} f(x,y)=1+e−(ax+by+c)1
其中 a a a、 b b b、