经典机器学习算法:线性回归与逻辑回归
线性回归用于预测连续值,通过最小化均方误差来拟合数据。逻辑回归用于分类任务,通过最小化交叉熵损失来拟合数据。两者都通过梯度下降法优化参数,是机器学习中最基础且重要的算法。
经典机器学习算法:线性回归与逻辑回归
1. 线性回归(Linear Regression)
1.1 基本概念
线性回归是一种用于预测连续值的监督学习算法,通过拟合输入特征与目标值之间的线性关系来进行预测。
1.2 数学模型
给定输入特征X=[x1,x2,...,xn]X = [x_1, x_2, ..., x_n]X=[x1,x2,...,xn],线性回归模型表示为:
y=w1x1+w2x2+...+wnxn+b y = w_1 x_1 + w_2 x_2 + ... + w_n x_n + b y=w1x1+w2x2+...+wnxn+b
其中:
- yyy为预测值
- wiw_iwi为权重
- bbb为偏置项
1.3 目标函数
线性回归的目标是最小化预测值与真实值之间的均方误差(MSE):
L(w,b)=1m∑i=1m(y(i)−y^(i))2 L(w, b) = \frac{1}{m} \sum_{i=1}^m (y^{(i)} - \hat{y}^{(i)})^2 L(w,b)=m1i=1∑m(y(i)−y^(i))2
其中:
- mmm为样本数量
- y(i)y^{(i)}y(i)为真实值
- y^(i)\hat{y}^{(i)}y^(i)为预测值
1.4 优化方法
通过梯度下降法更新参数:
- 计算梯度:
∂L∂wj=2m∑i=1m(y(i)−y^(i))xj(i) \frac{\partial L}{\partial w_j} = \frac{2}{m} \sum_{i=1}^m (y^{(i)} - \hat{y}^{(i)}) x_j^{(i)} ∂wj∂L=m2i=1∑m(y(i)−y^(i))xj(i)
∂L∂b=2m∑i=1m(y(i)−y^(i)) \frac{\partial L}{\partial b} = \frac{2}{m} \sum_{i=1}^m (y^{(i)} - \hat{y}^{(i)}) ∂b∂L=m2i=1∑m(y(i)−y^(i)) - 更新参数:
wj=wj−η∂L∂wj w_j = w_j - \eta \frac{\partial L}{\partial w_j} wj=wj−η∂wj∂L
b=b−η∂L∂b b = b - \eta \frac{\partial L}{\partial b} b=b−η∂b∂L
2. 逻辑回归(Logistic Regression)
2.1 基本概念
逻辑回归是一种用于分类任务的监督学习算法,通过拟合输入特征与目标类别之间的概率关系来进行分类。
2.2 数学模型
给定输入特征X=[x1,x2,...,xn]X = [x_1, x_2, ..., x_n]X=[x1,x2,...,xn],逻辑回归模型表示为:
p(y=1∣X)=σ(w1x1+w2x2+...+wnxn+b) p(y=1 | X) = \sigma(w_1 x_1 + w_2 x_2 + ... + w_n x_n + b) p(y=1∣X)=σ(w1x1+w2x2+...+wnxn+b)
其中:
- σ\sigmaσ为sigmoid函数:
σ(z)=11+e−z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+e−z1 - p(y=1∣X)p(y=1 | X)p(y=1∣X)为输入XXX属于类别1的概率
2.3 目标函数
逻辑回归的目标是最小化交叉熵损失函数:
L(w,b)=−1m∑i=1m[y(i)log(y^(i))+(1−y(i))log(1−y^(i))] L(w, b) = -\frac{1}{m} \sum_{i=1}^m [y^{(i)} \log(\hat{y}^{(i)}) + (1 - y^{(i)}) \log(1 - \hat{y}^{(i)})] L(w,b)=−m1i=1∑m[y(i)log(y^(i))+(1−y(i))log(1−y^(i))]
其中:
- mmm为样本数量
- y(i)y^{(i)}y(i)为真实类别(0或1)
- y^(i)\hat{y}^{(i)}y^(i)为预测概率
2.4 优化方法
通过梯度下降法更新参数:
- 计算梯度:
∂L∂wj=1m∑i=1m(y^(i)−y(i))xj(i) \frac{\partial L}{\partial w_j} = \frac{1}{m} \sum_{i=1}^m (\hat{y}^{(i)} - y^{(i)}) x_j^{(i)} ∂wj∂L=m1i=1∑m(y^(i)−y(i))xj(i)
∂L∂b=1m∑i=1m(y^(i)−y(i)) \frac{\partial L}{\partial b} = \frac{1}{m} \sum_{i=1}^m (\hat{y}^{(i)} - y^{(i)}) ∂b∂L=m1i=1∑m(y^(i)−y(i)) - 更新参数:
wj=wj−η∂L∂wj w_j = w_j - \eta \frac{\partial L}{\partial w_j} wj=wj−η∂wj∂L
b=b−η∂L∂b b = b - \eta \frac{\partial L}{\partial b} b=b−η∂b∂L
实现(欠)
总结
线性回归用于预测连续值,通过最小化均方误差来拟合数据。
逻辑回归用于分类任务,通过最小化交叉熵损失来拟合数据。
两者都通过梯度下降法优化参数,是机器学习中最基础且重要的算法。
更多推荐

所有评论(0)