线性回归与逻辑回归

一、线性回归(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。

相关推荐
算AI14 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
hyshhhh16 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
杉之17 小时前
选择排序笔记
java·算法·排序算法
烂蜻蜓17 小时前
C 语言中的递归:概念、应用与实例解析
c语言·数据结构·算法
OYangxf17 小时前
图论----拓扑排序
算法·图论
我要昵称干什么17 小时前
基于S函数的simulink仿真
人工智能·算法
AndrewHZ18 小时前
【图像处理基石】什么是tone mapping?
图像处理·人工智能·算法·计算机视觉·hdr
念九_ysl18 小时前
基数排序算法解析与TypeScript实现
前端·算法·typescript·排序算法
守正出琦18 小时前
日期类的实现
数据结构·c++·算法
ChoSeitaku18 小时前
NO.63十六届蓝桥杯备战|基础算法-⼆分答案|木材加工|砍树|跳石头(C++)
c++·算法·蓝桥杯