当前位置: 首页 > news >正文

神经网络—— 学习与感知器(细节补充)

逻辑回归

逻辑回归是机器学习中经典的二分类算法,虽然名字含“回归”,但本质是通过线性模型+非线性激活函数实现分类。下面从核心原理、公式推导到参数优化进行详细讲解:

二、核心公式推导

1. 线性模型:构建决策边界

逻辑回归的底层仍是线性模型,用于学习输入特征与输出的线性关系:
z=θTx+θ0 z = \theta^T x + \theta_0 z=θTx+θ0
其中:

  • x=(x1,x2,...,xn)Tx = (x_1, x_2, ..., x_n)^Tx=(x1,x2,...,xn)T 是输入特征向量(nnn 为特征数);
  • θ=(θ1,θ2,...,θn)T\theta = (\theta_1, \theta_2, ..., \theta_n)^Tθ=(θ1,θ2,...,θn)T 是权重向量(每个特征的重要性);
  • θ0\theta_0θ0 是偏置项(类似线性回归的截距)。

这个线性模型的本质是学习一个决策边界:当 z=0z = 0z=0 时,θTx+θ0=0\theta^T x + \theta_0 = 0θTx+θ0=0 是分类的临界线(或超平面)。

2. Sigmoid函数:将线性输出映射为概率

为了将线性输出 zzz 转换为[0,1]区间的概率,引入Sigmoid激活函数:
ϕ(z)=11+e−z \phi(z) = \frac{1}{1 + e^{-z}} ϕ(z)=1+ez1

Sigmoid函数的特性

  • z→+∞z \to +\inftyz+ 时,ϕ(z)→1\phi(z) \to 1ϕ(z)1
  • z→−∞z \to -\inftyz 时,ϕ(z)→0\phi(z) \to 0ϕ(z)0
  • z=0z = 0z=0 时,ϕ(z)=0.5\phi(z) = 0.5ϕ(z)=0.5(分类阈值)。

结合线性模型,逻辑回归的假设函数(预测概率)为:
hθ(x)=ϕ(θTx+θ0)=11+e−(θTx+θ0) h_\theta(x) = \phi(\theta^T x + \theta_0) = \frac{1}{1 + e^{-(\theta^T x + \theta_0)}} hθ(x)=ϕ(θTx+θ0)=1+e(θTx+θ0)1

它表示:在给定特征 xxx 和参数 θ\thetaθ 时,样本属于正类(y=1y=1y=1)的概率。

3. 分类规则:基于概率的决策

根据假设函数的输出概率,定义分类规则:

  • hθ(x)≥0.5h_\theta(x) \geq 0.5hθ(x)0.5,预测 y=1y=1y=1(正类),此时 z=θTx+θ0≥0z = \theta^T x + \theta_0 \geq 0z=θTx+θ00
  • hθ(x)<0.5h_\theta(x) < 0.5hθ(x)<0.5,预测 y=0y=0y=0(负类),此时 z=θTx+θ0<0z = \theta^T x + \theta_0 < 0z=θTx+θ0<0

本质是通过线性决策边界 θTx+θ0=0\theta^T x + \theta_0 = 0θTx+θ0=0 将样本分为两类。

三、损失函数:衡量预测误差

损失函数用于衡量单个样本的预测误差,代价函数则是所有样本损失的平均值。逻辑回归采用交叉熵损失(而非平方损失),原因是交叉熵对分类问题更敏感,且能保证代价函数是凸函数(便于梯度下降优化)。

1. 单个样本的损失函数

对单个样本 (x(i),y(i))(x^{(i)}, y^{(i)})(x(i),y(i)),损失函数定义为:
cost(hθ(x(i)),y(i))={−log⁡(hθ(x(i)))if y(i)=1−log⁡(1−hθ(x(i)))if y(i)=0 cost(h_\theta(x^{(i)}), y^{(i)}) = \begin{cases} -\log(h_\theta(x^{(i)})) & \text{if } y^{(i)} = 1 \\ -\log(1 - h_\theta(x^{(i)})) & \text{if } y^{(i)} = 0 \end{cases} cost(hθ(x(i)),y(i))={log(hθ(x(i)))log(1hθ(x(i)))if y(i)=1if y(i)=0

逻辑解释

  • y=1y=1y=1 时,若预测概率 hθ(x)h_\theta(x)hθ(x) 接近1,损失接近0;若 hθ(x)h_\theta(x)hθ(x) 接近0,损失趋近于无穷大(惩罚错误预测)。
  • y=0y=0y=0 时,若预测概率 hθ(x)h_\theta(x)hθ(x) 接近0,损失接近0;若 hθ(x)h_\theta(x)hθ(x) 接近1,损失趋近于无穷大。

可合并为更简洁的形式:
cost(hθ(x),y)=−ylog⁡(hθ(x))−(1−y)log⁡(1−hθ(x)) cost(h_\theta(x), y) = -y \log(h_\theta(x)) - (1 - y) \log(1 - h_\theta(x)) cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))

2. 代价函数:平均损失

mmm 个样本,代价函数 J(θ)J(\theta)J(θ) 为所有样本损失的平均值:
J(θ)=1m∑i=1m[−y(i)log⁡(hθ(x(i)))−(1−y(i))log⁡(1−hθ(x(i)))] J(\theta) = \frac{1}{m} \sum_{i=1}^m \left[ -y^{(i)} \log(h_\theta(x^{(i)})) - (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) \right] J(θ)=m1i=1m[y(i)log(hθ(x(i)))(1y(i))log(1hθ(x(i)))]

我们的目标是最小化代价函数 J(θ)J(\theta)J(θ),即找到最优参数 θ\thetaθ 使预测概率尽可能接近真实标签。

四、参数优化:梯度下降法

梯度下降是最小化代价函数的常用方法,核心是沿代价函数的负梯度方向更新参数。

1. 梯度计算

首先求代价函数 J(θ)J(\theta)J(θ) 对参数 θj\theta_jθj 的偏导数(梯度)。
已知 hθ(x)=11+e−zh_\theta(x) = \frac{1}{1 + e^{-z}}hθ(x)=1+ez1,且 z=θTx+θ0z = \theta^T x + \theta_0z=θTx+θ0,可推导得:
∂∂θjJ(θ)=1m∑i=1m(hθ(x(i))−y(i))xj(i) \frac{\partial}{\partial \theta_j} J(\theta) = \frac{1}{m} \sum_{i=1}^m \left( h_\theta(x^{(i)}) - y^{(i)} \right) x_j^{(i)} θjJ(θ)=m1i=1m(hθ(x(i))y(i))xj(i)

(推导提示:利用Sigmoid函数的导数性质 ϕ′(z)=ϕ(z)(1−ϕ(z))\phi'(z) = \phi(z)(1 - \phi(z))ϕ(z)=ϕ(z)(1ϕ(z)),代入链式法则求导,最终化简得到上述结果。)

2. 参数更新公式

根据梯度下降法,参数 θj\theta_jθj 的更新公式为:
θj=θj−α⋅∂∂θjJ(θ) \theta_j = \theta_j - \alpha \cdot \frac{\partial}{\partial \theta_j} J(\theta) θj=θjαθjJ(θ)
即:
θj=θj−α⋅1m∑i=1m(hθ(x(i))−y(i))xj(i) \theta_j = \theta_j - \alpha \cdot \frac{1}{m} \sum_{i=1}^m \left( h_\theta(x^{(i)}) - y^{(i)} \right) x_j^{(i)} θj=θjαm1i=1m(hθ(x(i))y(i))xj(i)

其中:

  • α\alphaα 是学习率(控制更新步长,过大会震荡,过小会收敛慢);
  • 每次更新需遍历所有样本(批量梯度下降),也可采用随机梯度下降(SGD)或小批量梯度下降加速收敛。

五、总结

逻辑回归的核心流程:

  1. 用线性模型 z=θTx+θ0z = \theta^T x + \theta_0z=θTx+θ0 学习特征与输出的关系;
  2. 通过Sigmoid函数将 zzz 映射为[0,1]的概率 hθ(x)h_\theta(x)hθ(x)
  3. 用交叉熵损失衡量预测误差,构建代价函数 J(θ)J(\theta)J(θ)
  4. 通过梯度下降法最小化 J(θ)J(\theta)J(θ),得到最优参数 θ\thetaθ
  5. 根据 hθ(x)≥0.5h_\theta(x) \geq 0.5hθ(x)0.5<0.5<0.5<0.5 进行二分类。

支持向量机

支持向量机(SVM)是一种经典的监督学习算法,核心优势在于能在高维空间中高效找到最优分类超平面,尤其适合小样本、高维特征的分类任务。下面从核心原理、数学推导到非线性处理进行详细解析:

一、核心思想:最大间隔分割超平面

SVM的核心目标是在样本空间中找到一个分割超平面,不仅能将不同类别的样本分开,还能使离超平面最近的样本到超平面的距离最大(即“最大间隔”)。

  • 这些“离超平面最近的样本”被称为支持向量(Support Vectors),它们直接决定了超平面的位置和间隔大小,是SVM的关键。
  • 最大间隔的意义:间隔越大,模型对噪声的容忍度越高,泛化能力越强(不易过拟合)。

二、超平面与分类规则

1. 超平面的数学表达

nnn 维样本空间中,超平面的方程为:
wTx+b=0 w^T x + b = 0 wTx+b=0
其中:

  • w=(w1,w2,...,wn)Tw = (w_1, w_2, ..., w_n)^Tw=(w1,w2,...,wn)T 是超平面的法向量(决定超平面的方向);
  • bbb位移项(决定超平面与原点的距离);
  • x=(x1,x2,...,xn)Tx = (x_1, x_2, ..., x_n)^Tx=(x1,x2,...,xn)T 是样本的特征向量。
2. 分类规则

对样本 (x(i),y(i))(x^{(i)}, y^{(i)})(x(i),y(i)),标签 y(i)∈{−1,1}y^{(i)} \in \{-1, 1\}y(i){1,1}(分别代表负类和正类),分类规则为:

  • wTx(i)+b>0w^T x^{(i)} + b > 0wTx(i)+b>0,预测 y(i)=1y^{(i)} = 1y(i)=1(正类);
  • wTx(i)+b<0w^T x^{(i)} + b < 0wTx(i)+b<0,预测 y(i)=−1y^{(i)} = -1y(i)=1(负类)。

直观理解:超平面将空间分为两部分,法向量 www 指向的一侧为正类,另一侧为负类。

3. 间隔的定义与计算

样本 xxx 到超平面的几何距离(垂直距离)公式为:
r=∣wTx+b∣∥w∥ r = \frac{|w^T x + b|}{\|w\|} r=wwTx+b
其中 ∥w∥=w12+w22+...+wn2\|w\| = \sqrt{w_1^2 + w_2^2 + ... + w_n^2}w=w12+w22+...+wn2 是法向量 www 的L2范数。

对两类样本,假设超平面能完美分隔它们(线性可分),则:

  • 正类样本满足 wTx+b≥0w^T x + b \geq 0wTx+b0,支持向量满足 wTx+b=+γw^T x + b = +\gammawTx+b=+γ
  • 负类样本满足 wTx+b≤0w^T x + b \leq 0wTx+b0,支持向量满足 wTx+b=−γw^T x + b = -\gammawTx+b=γ

两类支持向量之间的距离(即间隔)为 2γ∥w∥\frac{2\gamma}{\|w\|}w2γ。为简化计算,可令 γ=1\gamma = 1γ=1(因为 wwwbbb 成比例缩放时,超平面不变),此时间隔简化为 2∥w∥\frac{2}{\|w\|}w2

三、线性可分情况下的优化目标

SVM的目标是最大化间隔,即最大化 2∥w∥\frac{2}{\|w\|}w2,等价于最小化 12∥w∥2\frac{1}{2}\|w\|^221w2(平方项便于求导)。同时,需满足分类约束:所有样本都被正确分类,即
y(i)(wTx(i)+b)≥1(i=1,2,...,m) y^{(i)}(w^T x^{(i)} + b) \geq 1 \quad (i=1,2,...,m) y(i)(wTx(i)+b)1(i=1,2,...,m)

因此,线性可分SVM的优化问题可表示为:
min⁡w,b12∥w∥2 \min_{w, b} \quad \frac{1}{2}\|w\|^2 w,bmin21w2
s.t.y(i)(wTx(i)+b)≥1(i=1,2,...,m) s.t. \quad y^{(i)}(w^T x^{(i)} + b) \geq 1 \quad (i=1,2,...,m) s.t.y(i)(wTx(i)+b)1(i=1,2,...,m)

四、对偶问题与支持向量的求解

上述优化问题是带约束的凸二次规划问题,可通过拉格朗日对偶性转换为更易求解的对偶问题(尤其适合高维特征)。

1. 拉格朗日函数构造

引入拉格朗日乘子 αi≥0\alpha_i \geq 0αi0,构造拉格朗日函数:
L(w,b,α)=12∥w∥2−∑i=1mαi[y(i)(wTx(i)+b)−1] L(w, b, \alpha) = \frac{1}{2}\|w\|^2 - \sum_{i=1}^m \alpha_i [y^{(i)}(w^T x^{(i)} + b) - 1] L(w,b,α)=21w2i=1mαi[y(i)(wTx(i)+b)1]

2. 对偶问题转换

通过对 wwwbbb 求偏导并令其为0,可将原问题转换为对偶问题:
max⁡α∑i=1mαi−12∑i=1m∑j=1mαiαjy(i)y(j)(x(i))Tx(j) \max_{\alpha} \quad \sum_{i=1}^m \alpha_i - \frac{1}{2}\sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y^{(i)} y^{(j)} (x^{(i)})^T x^{(j)} αmaxi=1mαi21i=1mj=1mαiαjy(i)y(j)(x(i))Tx(j)
s.t.∑i=1mαiy(i)=0且αi≥0(i=1,2,...,m) s.t. \quad \sum_{i=1}^m \alpha_i y^{(i)} = 0 \quad \text{且} \quad \alpha_i \geq 0 \quad (i=1,2,...,m) s.t.i=1mαiy(i)=0αi0(i=1,2,...,m)

3. 支持向量的特性

求解对偶问题后,得到最优拉格朗日乘子 αi∗\alpha_i^*αi,其满足KKT条件

  • αi∗>0\alpha_i^* > 0αi>0,则对应样本 x(i)x^{(i)}x(i)支持向量,且满足 y(i)(wTx(i)+b)=1y^{(i)}(w^T x^{(i)} + b) = 1y(i)(wTx(i)+b)=1
  • αi∗=0\alpha_i^* = 0αi=0,则对应样本对超平面无影响(远离超平面)。

最优参数 w∗w^*wb∗b^*b 可通过支持向量计算:
w∗=∑i=1mαi∗y(i)x(i) w^* = \sum_{i=1}^m \alpha_i^* y^{(i)} x^{(i)} w=i=1mαiy(i)x(i)
b∗=y(s)−∑i=1mαi∗y(i)(x(i))Tx(s)(其中 x(s) 是任意支持向量) b^* = y^{(s)} - \sum_{i=1}^m \alpha_i^* y^{(i)} (x^{(i)})^T x^{(s)} \quad \text{(其中 } x^{(s)} \text{ 是任意支持向量)} b=y(s)i=1mαiy(i)(x(i))Tx(s)(其中 x(s) 是任意支持向量)

五、线性不可分问题:软间隔与正则化

实际数据往往存在噪声或线性不可分的情况,此时需引入软间隔(允许部分样本违反分类约束),通过正则化项平衡间隔大小和分类错误。

优化目标调整为:
min⁡w,b12∥w∥2+C∑i=1mξi \min_{w, b} \quad \frac{1}{2}\|w\|^2 + C \sum_{i=1}^m \xi_i w,bmin21w2+Ci=1mξi
s.t.y(i)(wTx(i)+b)≥1−ξi(i=1,2,...,m) s.t. \quad y^{(i)}(w^T x^{(i)} + b) \geq 1 - \xi_i \quad (i=1,2,...,m) s.t.y(i)(wTx(i)+b)1ξi(i=1,2,...,m)
ξi≥0(i=1,2,...,m) \xi_i \geq 0 \quad (i=1,2,...,m) ξi0(i=1,2,...,m)

其中:

  • ξi\xi_iξi松弛变量(衡量样本违反约束的程度,ξi=0\xi_i = 0ξi=0 表示样本被正确分类);
  • C>0C > 0C>0 是正则化参数(控制对错误分类的惩罚力度:CCC 越大,惩罚越重,模型越倾向于严格分类;CCC 越小,允许更多错误,间隔更大)。

六、非线性问题:核函数的魔力

当样本在低维空间线性不可分时,SVM通过核函数(Kernel Function)将样本映射到高维空间,使其在高维空间线性可分。

1. 映射函数与核函数

ϕ(x)\phi(x)ϕ(x) 是将低维特征 xxx 映射到高维特征空间的函数,则高维空间的超平面为:
f(x)=wTϕ(x)+b f(x) = w^T \phi(x) + b f(x)=wTϕ(x)+b

直接计算高维空间的内积 ϕ(x(i))Tϕ(x(j))\phi(x^{(i)})^T \phi(x^{(j)})ϕ(x(i))Tϕ(x(j)) 会面临“维度灾难”(计算量爆炸)。核函数巧妙地避开了显式映射,直接计算低维空间的内积等价结果:
K(x(i),x(j))=ϕ(x(i))Tϕ(x(j)) K(x^{(i)}, x^{(j)}) = \phi(x^{(i)})^T \phi(x^{(j)}) K(x(i),x(j))=ϕ(x(i))Tϕ(x(j))

2. 常用核函数
  • 线性核K(x,x′)=xTx′K(x, x') = x^T x'K(x,x)=xTx(适用于线性可分数据,等价于原始SVM);
  • 多项式核K(x,x′)=(xTx′+c)dK(x, x') = (x^T x' + c)^dK(x,x)=(xTx+c)dddd 为多项式次数,适用于中等复杂度数据);
  • 高斯核(RBF核)K(x,x′)=exp⁡(−∥x−x′∥22σ2)K(x, x') = \exp\left(-\frac{\|x - x'\|^2}{2\sigma^2}\right)K(x,x)=exp(2σ2xx2)(最常用,适用于非线性数据,通过参数 σ\sigmaσ 控制平滑程度);
  • Sigmoid核K(x,x′)=tanh⁡(βxTx′+θ)K(x, x') = \tanh(\beta x^T x' + \theta)K(x,x)=tanh(βxTx+θ)(模拟神经网络,较少用)。
3. 核技巧的优势

核函数无需显式定义高维映射 ϕ(x)\phi(x)ϕ(x),仅通过低维内积计算高维相似性,大幅降低了计算复杂度,使SVM能高效处理非线性问题。

七、总结

SVM的核心流程:

  1. 对线性可分数据,通过最大化间隔找到最优超平面,转化为凸二次规划问题求解;
  2. 对线性不可分数据,引入软间隔允许部分错误,通过正则化参数平衡间隔与错误;
  3. 对非线性数据,利用核函数映射到高维空间,实现线性可分,避免维度灾难。

SVM的优势在于:泛化能力强(依赖支持向量,对噪声不敏感)、适合高维特征(如文本分类);局限性是计算复杂度较高(尤其样本量大时)、参数调优(如 CCC 和核函数参数)较复杂。

K均值聚类(K-means)

K-means是最经典的聚类算法,核心是通过迭代优化将样本划分为K个紧凑的簇,使簇内样本相似度高、簇间差异大。

1. 核心目标:最小化簇内平方误差

聚类的本质是“同类样本聚集,异类样本分离”。K-means通过簇内平方误差(SSE) 量化这一目标:
E=∑i=1k∑x∈Ci∥x−μi∥2 E = \sum_{i=1}^k \sum_{x \in C_i} \|x - \mu_i\|^2 E=i=1kxCixμi2
其中:

  • CiC_iCi 是第i个簇(样本集合);
  • μi\mu_iμi 是第i个簇的中心(簇内所有样本的均值向量);
  • ∥x−μi∥2\|x - \mu_i\|^2xμi2 是样本x与簇中心μi\mu_iμi的欧氏距离平方(也可替换为曼哈顿距离等)。

E越小,说明簇内样本越接近其中心,聚类效果越好。

2. 算法步骤:迭代优化的“分配-更新”过程

K-means通过迭代实现簇的动态调整,具体步骤如下:

(1)初始化簇中心:随机选择K个样本作为初始簇中心μ1,μ2,...,μk\mu_1, \mu_2, ..., \mu_kμ1,μ2,...,μk(K需人工指定)。
(2)分配样本到簇:计算每个样本到K个簇中心的距离,将样本分配给距离最近的簇(“就近原则”)。
(3)更新簇中心:对每个簇,重新计算其中心μi\mu_iμi(即簇内所有样本的均值)。
(4)终止条件:重复步骤(2)(3),直到:

  • 迭代次数达到预设最大值;
  • 簇中心的变化量小于设定阈值(如两次迭代的中心距离小于10−610^{-6}106);
  • 样本分配结果不再变化。

3. 关键特性与局限

  • 优点:原理简单、计算高效(时间复杂度为O(mkn)O(mkn)O(mkn),m为样本数,k为簇数,n为迭代次数),适合大规模数据。
  • 局限
    • 需提前指定K值(可通过肘部法、轮廓系数等辅助选择);
    • 对初始簇中心敏感(可能陷入局部最优,通常多次运行取最优结果);
    • 对非凸形状簇、密度差异大的数据集效果较差。

主成分分析(PCA)

PCA是最常用的降维算法,核心是通过线性变换将高维数据映射到低维空间,同时保留数据中最关键的信息(最大方差)。

1. 核心思想:最大方差与最近重构

PCA的目标可从两个等价角度理解:

  • 最大可分性:低维投影后的数据方差最大。方差越大,样本在低维空间的分布越分散,保留的原始信息越多。
  • 最近重构性:样本从高维映射到低维后,再重构回高维的误差最小(即样本到低维超平面的距离总和最小)。

2. 算法步骤:从高维到低维的线性变换

PCA的本质是寻找一组正交的“主成分”(低维坐标系),步骤如下:

(1)数据中心化:消除不同特征量纲的影响(如身高用cm、体重用kg),对每个样本xix_ixi减去所有样本的均值:
xi←xi−xˉ,xˉ=1m∑i=1mxi x_i \leftarrow x_i - \bar{x}, \quad \bar{x} = \frac{1}{m} \sum_{i=1}^m x_i xixixˉ,xˉ=m1i=1mxi
(m为样本数,xˉ\bar{x}xˉ为均值向量)。

(2)计算协方差矩阵:中心化后的样本矩阵为X∈Rm×dX \in \mathbb{R}^{m \times d}XRm×d(m个样本,d个特征),协方差矩阵Σ\SigmaΣ反映特征间的相关性:
Σ=1m−1XTX \Sigma = \frac{1}{m-1} X^T X Σ=m11XTX
(协方差矩阵是对称矩阵,对角线为各特征的方差,非对角线为特征间的协方差)。

(3)特征值分解:对协方差矩阵Σ\SigmaΣ进行特征值分解,得到特征值λ1≥λ2≥...≥λd\lambda_1 \geq \lambda_2 \geq ... \geq \lambda_dλ1λ2...λd和对应的特征向量w1,w2,...,wdw_1, w_2, ..., w_dw1,w2,...,wd

  • 特征值λi\lambda_iλi表示第i个主成分的方差(信息含量);
  • 特征向量wiw_iwi是第i个主成分的方向(低维坐标系的轴)。

(4)选择主成分:选取前d′d'd个最大特征值对应的特征向量(d′<dd' < dd<d),构成投影矩阵W∗=(w1,w2,...,wd′)∈Rd×d′W^* = (w_1, w_2, ..., w_{d'}) \in \mathbb{R}^{d \times d'}W=(w1,w2,...,wd)Rd×d

  • 保留的信息比例可通过累计方差贡献率计算:∑i=1d′λi/∑i=1dλi\sum_{i=1}^{d'} \lambda_i / \sum_{i=1}^d \lambda_ii=1dλi/i=1dλi(通常保留80%-95%的信息)。

(5)数据降维:将高维样本xix_ixi映射到低维空间,得到降维后的样本:
zi=W∗Txi∈Rd′ z_i = W^{*T} x_i \in \mathbb{R}^{d'} zi=WTxiRd

3. 关键特性与应用

  • 优点:无参数限制(无需人工干预)、计算高效,能有效去除特征冗余(因主成分正交,无相关性)。
  • 局限:仅适用于线性可分数据,对非线性数据降维效果差(可结合核技巧扩展为核PCA);降维后的数据可解释性降低(主成分是原始特征的线性组合)。
  • 应用:数据可视化(将高维数据降为2D/3D)、特征预处理(减少特征维度,加速后续模型训练)、噪声过滤(保留主要信息,过滤次要噪声)。

计算

一、逻辑回归(Logistic Regression)计算示例

问题:用逻辑回归预测学生是否通过考试(通过=1,未通过=0),特征为“学习时长(x)”,已知3个样本:

学习时长x(小时)是否通过y
10
30
51
1. 模型假设

假设函数:hθ(x)=11+e−(θ1x+θ0)h_\theta(x) = \frac{1}{1 + e^{-(\theta_1 x + \theta_0)}}hθ(x)=1+e(θ1x+θ0)1(简化为单特征,θ0\theta_0θ0为偏置,θ1\theta_1θ1为权重)。

2. 损失函数与参数优化(梯度下降示例)

初始化参数:θ0=0\theta_0=0θ0=0θ1=0\theta_1=0θ1=0,学习率α=0.1\alpha=0.1α=0.1

  • 第1次迭代
    计算每个样本的预测概率:
    z1=0∗1+0=0→h1=1/(1+e0)=0.5z_1 = 0*1 + 0 = 0 \to h_1 = 1/(1+e^0) = 0.5z1=01+0=0h1=1/(1+e0)=0.5
    z2=0∗3+0=0→h2=0.5z_2 = 0*3 + 0 = 0 \to h_2 = 0.5z2=03+0=0h2=0.5
    z3=0∗5+0=0→h3=0.5z_3 = 0*5 + 0 = 0 \to h_3 = 0.5z3=05+0=0h3=0.5

    计算梯度(单样本梯度:(hθ(x)−y)xj(h_\theta(x)-y)x_j(hθ(x)y)xj):
    θ0\theta_0θ0的梯度:13[(0.5−0)+(0.5−0)+(0.5−1)]=13(0.5+0.5−0.5)=0.167\frac{1}{3}[(0.5-0)+(0.5-0)+(0.5-1)] = \frac{1}{3}(0.5+0.5-0.5) = 0.16731[(0.50)+(0.50)+(0.51)]=31(0.5+0.50.5)=0.167
    θ1\theta_1θ1的梯度:13[(0.5−0)∗1+(0.5−0)∗3+(0.5−1)∗5]=13(0.5+1.5−2.5)=−0.167\frac{1}{3}[(0.5-0)*1 + (0.5-0)*3 + (0.5-1)*5] = \frac{1}{3}(0.5 + 1.5 - 2.5) = -0.16731[(0.50)1+(0.50)3+(0.51)5]=31(0.5+1.52.5)=0.167

    更新参数:
    θ0=0−0.1∗0.167=−0.0167\theta_0 = 0 - 0.1*0.167 = -0.0167θ0=00.10.167=0.0167
    θ1=0−0.1∗(−0.167)=0.0167\theta_1 = 0 - 0.1*(-0.167) = 0.0167θ1=00.1(0.167)=0.0167

  • 多次迭代后:参数逐渐收敛(如θ0≈−1.5\theta_0 \approx -1.5θ01.5θ1≈0.5\theta_1 \approx 0.5θ10.5),此时对x=4x=4x=4的预测:
    z=0.5∗4−1.5=0.5→h=1/(1+e−0.5)≈0.62≥0.5z = 0.5*4 -1.5 = 0.5 \to h=1/(1+e^{-0.5}) \approx 0.62 \geq 0.5z=0.541.5=0.5h=1/(1+e0.5)0.620.5,预测通过(y=1)。

二、支持向量机(SVM)计算示例

问题:对二维数据线性分类,样本:
正类(y=1):(3,3)(3,3)(3,3)(4,3)(4,3)(4,3);负类(y=-1):(1,1)(1,1)(1,1)

1. 超平面与间隔

目标:找到超平面w1x1+w2x2+b=0w_1x_1 + w_2x_2 + b = 0w1x1+w2x2+b=0,使间隔最大。

  • 观察样本,最优超平面应在中间,如x1+x2−3=0x_1 + x_2 - 3 = 0x1+x23=0(即w=(1,1)Tw=(1,1)^Tw=(1,1)Tb=−3b=-3b=3)。

  • 验证分类约束:
    正类(3,3)(3,3)(3,3)1∗3+1∗3−3=3>0→y=11*3 + 1*3 -3 = 3 > 0 \to y=113+133=3>0y=1
    正类(4,3)(4,3)(4,3)1∗4+1∗3−3=4>0→y=11*4 + 1*3 -3 = 4 > 0 \to y=114+133=4>0y=1
    负类(1,1)(1,1)(1,1)1∗1+1∗1−3=−1<0→y=−11*1 + 1*1 -3 = -1 < 0 \to y=-111+113=1<0y=1

  • 计算间隔:支持向量为(3,3)(3,3)(3,3)(1,1)(1,1)(1,1),到超平面的距离均为∣3+3−3∣12+12=32\frac{|3+3-3|}{\sqrt{1^2+1^2}} = \frac{3}{\sqrt{2}}12+12∣3+33∣=23,间隔为2∗32=322*\frac{3}{\sqrt{2}} = 3\sqrt{2}223=32(最大可能间隔)。

三、K均值聚类(K-means)计算示例

问题:对二维数据(1,1)(1,1)(1,1)(1,3)(1,3)(1,3)(3,1)(3,1)(3,1)(3,3)(3,3)(3,3)聚类,K=2。

1. 迭代过程
  • 初始化:随机选初始中心μ1=(1,1)\mu_1=(1,1)μ1=(1,1)μ2=(3,3)\mu_2=(3,3)μ2=(3,3)

  • 第1次分配(欧氏距离):
    (1,1)(1,1)(1,1)μ1\mu_1μ1距离=0,到μ2\mu_2μ2距离=(2)2+(2)2=22\sqrt{(2)^2+(2)^2}=2\sqrt{2}(2)2+(2)2=22 → 簇1;
    (1,3)(1,3)(1,3)μ1\mu_1μ1距离=2,到μ2\mu_2μ2距离=2 → 可归为簇1或2(暂归簇1);
    (3,1)(3,1)(3,1)μ1\mu_1μ1距离=2,到μ2\mu_2μ2距离=2 → 暂归簇2;
    (3,3)(3,3)(3,3)μ2\mu_2μ2距离=0 → 簇2。
    簇1:{(1,1),(1,3)}\{(1,1), (1,3)\}{(1,1),(1,3)},簇2:{(3,1),(3,3)}\{(3,1), (3,3)\}{(3,1),(3,3)}

  • 更新中心
    μ1=(1+12,1+32)=(1,2)\mu_1 = (\frac{1+1}{2}, \frac{1+3}{2}) = (1,2)μ1=(21+1,21+3)=(1,2)
    μ2=(3+32,1+32)=(3,2)\mu_2 = (\frac{3+3}{2}, \frac{1+3}{2}) = (3,2)μ2=(23+3,21+3)=(3,2)

  • 第2次分配
    (1,1)(1,1)(1,1)μ1\mu_1μ1距离=1,到μ2\mu_2μ2距离=22+12=5\sqrt{2^2+1^2}=\sqrt{5}22+12=5 → 簇1;
    (1,3)(1,3)(1,3)μ1\mu_1μ1距离=1,到μ2\mu_2μ2距离=22+12=5\sqrt{2^2+1^2}=\sqrt{5}22+12=5 → 簇1;
    (3,1)(3,1)(3,1)μ1\mu_1μ1距离=22+12=5\sqrt{2^2+1^2}=\sqrt{5}22+12=5,到μ2\mu_2μ2距离=1 → 簇2;
    (3,3)(3,3)(3,3)μ1\mu_1μ1距离=22+12=5\sqrt{2^2+1^2}=\sqrt{5}22+12=5,到μ2\mu_2μ2距离=1 → 簇2。

  • 中心不变:簇1中心(1,2)(1,2)(1,2),簇2中心(3,2)(3,2)(3,2),迭代终止。

  • 平方误差E
    簇1:∥(1,1)−(1,2)∥2+∥(1,3)−(1,2)∥2=1+1=2\|(1,1)-(1,2)\|^2 + \|(1,3)-(1,2)\|^2 = 1 + 1 = 2(1,1)(1,2)2+(1,3)(1,2)2=1+1=2
    簇2:∥(3,1)−(3,2)∥2+∥(3,3)−(3,2)∥2=1+1=2\|(3,1)-(3,2)\|^2 + \|(3,3)-(3,2)\|^2 = 1 + 1 = 2(3,1)(3,2)2+(3,3)(3,2)2=1+1=2
    总误差E=4E=4E=4

四、主成分分析(PCA)计算示例

问题:对二维数据(1,2)(1,2)(1,2)(2,3)(2,3)(2,3)(3,4)(3,4)(3,4)降维到1维。

1. 步骤计算
  • 数据中心化
    均值xˉ=(1+2+33,2+3+43)=(2,3)\bar{x} = (\frac{1+2+3}{3}, \frac{2+3+4}{3}) = (2, 3)xˉ=(31+2+3,32+3+4)=(2,3)
    中心化后数据:(−1,−1)(-1,-1)(1,1)(0,0)(0,0)(0,0)(1,1)(1,1)(1,1)

  • 协方差矩阵
    样本矩阵X=[−1−10011]X = \begin{bmatrix}-1 & -1 \\ 0 & 0 \\ 1 & 1\end{bmatrix}X=101101,协方差矩阵:
    Σ=13−1XTX=12[(−1)(−1)+0∗0+1∗1(−1)(−1)+0∗0+1∗1(−1)(−1)+0∗0+1∗1(−1)(−1)+0∗0+1∗1]=[1111]\Sigma = \frac{1}{3-1} X^T X = \frac{1}{2} \begin{bmatrix}(-1)(-1)+0*0+1*1 & (-1)(-1)+0*0+1*1 \\ (-1)(-1)+0*0+1*1 & (-1)(-1)+0*0+1*1\end{bmatrix} = \begin{bmatrix}1 & 1 \\ 1 & 1\end{bmatrix}Σ=311XTX=21[(1)(1)+00+11(1)(1)+00+11(1)(1)+00+11(1)(1)+00+11]=[1111]

  • 特征值分解
    解特征方程∣Σ−λI∣=0|\Sigma - \lambda I| = 0∣ΣλI=0,得λ1=2\lambda_1=2λ1=2(最大),λ2=0\lambda_2=0λ2=0
    对应特征向量w1=(12,12)Tw_1 = (\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}})^Tw1=(21,21)T(主成分方向)。

  • 降维投影
    投影矩阵W=(w1)W = (w_1)W=(w1),降维后数据:
    z1=(−1)⋅12+(−1)⋅12=−2z_1 = (-1)\cdot\frac{1}{\sqrt{2}} + (-1)\cdot\frac{1}{\sqrt{2}} = -\sqrt{2}z1=(1)21+(1)21=2
    z2=0⋅12+0⋅12=0z_2 = 0\cdot\frac{1}{\sqrt{2}} + 0\cdot\frac{1}{\sqrt{2}} = 0z2=021+021=0
    z3=1⋅12+1⋅12=2z_3 = 1\cdot\frac{1}{\sqrt{2}} + 1\cdot\frac{1}{\sqrt{2}} = \sqrt{2}z3=121+121=2

    降维后保留了原数据的全部方差(因λ1/∑λ=100%\lambda_1/\sum\lambda=100\%λ1/λ=100%)。

总结

  • 逻辑回归:通过梯度下降优化参数,将线性输出映射为概率;
  • SVM:寻找最大间隔超平面,支持向量决定间隔;
  • K-means:迭代更新簇中心,最小化簇内平方误差;
  • PCA:通过特征值分解协方差矩阵,保留最大方差的主成分。

这些示例简化了实际计算(如忽略多次迭代细节),但核心逻辑与公式应用一致。

http://www.dtcms.com/a/573875.html

相关文章:

  • tensorflow 图像分类 之一
  • 自己网站上做淘宝搜索引擎网站开发属于什么行业
  • 查询网站备案号网站如何做免费的推广
  • 编写一个DXE driver 提供遍历pcie设备配置空间的protocol
  • 随笔之工作方法的“术”
  • 淘宝上做进出口网站有哪些我男同同性做视频网站
  • LLM中的选择性注意:从人类聚焦到模型聚焦
  • 从成本到战略:金仓 KingbaseES 的多维度优势与企业数据库选型的核心考量
  • 做pc网站排wordpress载入慢
  • Java注解在Spring Boot中的详细原理与使用情况解析
  • Python + WebSocket 实现实时体育比分系统(含数据库设计与前端演示)
  • 揭阳智能模板建站网站转应用
  • 多个网站 备案吗工作室网站建设要多大内存
  • 借助 TX Text Control:在 .NET C# 中验证 PDF/UA 文档
  • 高光谱成像系统赋能烟叶分选(烟叶除杂、烟叶霉变、烟叶烟梗区分、烟叶等级分选)
  • Java NIO 深度解析:从 BIO 到 NIO 的演进与实战​
  • 聊聊AIoT开发效率与安全:从ARMINO IDK框架说起
  • 0.5、提示词中 System、User、Assistant 的基本概念
  • 响应式网站设计建设制作温岭app开发公司
  • 门户网站用什么程序做广州手机app开发
  • 用Python和FastAPI构建一个完整的企业级AI Agent微服务脚手架
  • 青岛网站域名备案查询个人网站做哪些内容
  • Leet热题100--208. 实现 Trie (前缀树)--中等
  • 应用分析网站网站社区建设
  • 【上海海事大学主办】第六届智能电网与能源工程国际学术会议(SGEE 2025)
  • 每月网站开发费用网站改版如何做301
  • Will Al Replace Humans? From Stage to Symbiosis.
  • Springcloud核心组件之Sentinel详解
  • 饰品企业网站建设程序开发的步骤
  • 聊城网站建设科技公司网站自己的