线性回归与逻辑回归

一、线性回归(Linear Regression)

1. 定义

线性回归是一种用于预测连续型目标变量(因变量)与一个或多个自变量(特征)之间关系的模型。其基本假设是因变量与自变量之间存在线性关系。

数学表达式为:
y = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β n x n y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_n x_n y=β0+β1x1+β2x2+⋯+βnxn

其中:

  • y y y 是预测值
  • β 0 \beta_0 β0 是截距
  • β 1 , β 2 , ... , β n \beta_1, \beta_2, \ldots, \beta_n β1,β2,...,βn 是回归系数
  • x 1 , x 2 , ... , x n x_1, x_2, \ldots, x_n x1,x2,...,xn 是自变量

2. 损失函数

线性回归常用的损失函数是均方误差(Mean Squared Error, MSE),定义为预测值与真实值之间差异的平方的平均值:

MSE = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{m} \sum_{i=1}^{m} (y_i - \hat{y}_i)^2 MSE=m1i=1∑m(yi−y^i)2

其中:

  • m m m 是样本数量
  • y i y_i yi 是真实值
  • y ^ i \hat{y}_i y^i 是预测值

最小化MSE可以找到最佳的回归系数,使模型对训练数据的预测误差最小。

二、逻辑回归(Logistic Regression)

1. 定义

逻辑回归是一种用于二分类或多分类任务的模型,旨在预测样本属于某一类别的概率。尽管名称中含有"回归"二字,但其主要用于分类问题。

数学表达式(用于二分类)为:
P ( y = 1 ∣ x ) = σ ( z ) = 1 1 + e − z P(y=1|x) = \sigma(z) = \frac{1}{1 + e^{-z}} P(y=1∣x)=σ(z)=1+e−z1

其中:

  • z = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β n x n z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_n x_n z=β0+β1x1+β2x2+⋯+βnxn
  • σ ( z ) \sigma(z) σ(z) 是逻辑函数(Sigmoid函数)

即对线性回归的输出多了一层取sigmoid。

2. 损失函数

逻辑回归常用的损失函数是对数损失函数(Log Loss),也称为交叉熵损失函数,定义为:

Log Loss = − 1 m ∑ i = 1 m [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] \text{Log Loss} = -\frac{1}{m} \sum_{i=1}^{m} \left[ y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i) \right] Log Loss=−m1i=1∑m[yilog(y^i)+(1−yi)log(1−y^i)]

其中:

  • m m m 是样本数量
  • y i y_i yi 是真实标签(0或1)
  • y ^ i \hat{y}_i y^i 是预测的概率值 P ( y = 1 ∣ x i ) P(y=1|x_i) P(y=1∣xi)

最小化对数损失函数可以找到最佳的回归系数,使模型对训练数据的分类概率误差最小。

训练完成之后,在预测时,当输出 > 0.5 >0.5 >0.5认为预测值是1,反之为0。

相关推荐
会员源码网2 小时前
使用`mysql_*`废弃函数(PHP7+完全移除,导致代码无法运行)
后端·算法
木心月转码ing2 小时前
Hot100-Day10-T438T438找到字符串中所有字母异位词
算法
HelloReader3 小时前
Wi-Fi CSI 感知技术用无线信号“看见“室内的人
算法
颜酱6 小时前
二叉树分解问题思路解题模式
javascript·后端·算法
qianpeng8977 小时前
水声匹配场定位原理及实验
算法
董董灿是个攻城狮19 小时前
AI视觉连载8:传统 CV 之边缘检测
算法
AI软著研究员1 天前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish1 天前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱1 天前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
地平线开发者2 天前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶