深度学习课程第二周总结

线性回归

一、线性回归

1.1 定义和学习过程

线性回归是一种利用数理统计中的回归分析来确定变量间定量关系的统计方法。其学习过程包括输入数据、应用机器学习方法、构建估计函数,并最终对新数据进行预测。线性回归的模型通常表示为:

y = \theta^T \mathbf{x}

其中 θ 是参数向量,x 是特征向量。

1.2 问题求解

通过构造代价函数:

J(\theta) = \frac{1}{2} \sum_{i=1}^{N} ( y^{(i)} - h_\theta(x^{(i)}))^2

并最小化该函数,可以得到参数的解析解:

\theta = (X^T X)^{-1} X^T y

其中,X 是输入数据矩阵,y 是输出向量。


二、线性二分类问题

2.1 定义与区别

线性分类器通过特征的线性组合进行分类决策。与线性回归不同,分类问题的输出是类别标签或概率值(如0或1)。分类问题需要将输出限制在0到1之间,因此引入了Sigmoid函数:

y = \frac{1}{1 + e^{-z}}

z = \theta^T \mathbf{x}

2.2 梯度下降法

由于分类问题的代价函数非线性,无法直接求解解析解,因此采用梯度下降法迭代优化参数:

\theta_{k+1} = \theta_k - \alpha \nabla_\theta J(\theta)

其中,α 是学习率,∇θJ(θ) 是代价函数的梯度。


三、对数回归与多分类回归

3.1 对数回归

从概率角度描述二分类问题,使用条件概率:

P(y=1|x, \theta) = h_\theta(x)

P(y=0|x, \theta) = 1 - h_\theta(x)

通过极大似然估计构造代价函数(交叉熵损失):

J(\theta) = -\sum_i [ y^{(i)} \log h_\theta(x^{(i)}) + (1-y^{(i)}) \log (1-h_\theta(x^{(i)})) ]

3.2 多分类回归

对于多分类问题,使用Softmax函数:

h_\theta(x^{(i)}) = \frac{1}{\sum_{c=1}^{k} e^{\theta_c^T x^{(i)}}} \begin{bmatrix} e^{\theta_1^T x^{(i)}} \\ \vdots \\ e^{\theta_k^T x^{(i)}} \end{bmatrix}

对应的代价函数为交叉熵损失:

J(\theta) = -\sum_{i=1}^{N} \sum_{k=1}^{K} 1\{y^{(i)}=k\} \log \frac{e^{\theta_k^T x^{(i)}}}{\sum_{j=1}^{K} e^{\theta_j^T x^{(i)}}}

四、神经元模型与感知机

4.1 神经元模型

人工神经元模型(M-P模型)模拟生物神经元,输入为加权和,输出通过激活函数 f 生成:

y = f( \sum_{j=1}^n w_j x_j - \theta )

常用的激活函数包括Sigmoid函数和阶跃函数。

4.2 感知机模型

感知机是一种线性分类模型,其输出为:

y = sign(w^T x)

五、总结

  1. 线性回归和分类问题本质是参数优化,分类问题引入Sigmoid函数后需迭代求解

  2. 神经元模型通过激活函数实现非线性映射,感知机是线性分类的基础

  3. 多分类问题通过Softmax函数扩展,损失函数采用交叉熵

  4. 梯度下降法是优化非线性问题的核心方法

BP网络

一、多层感知机(MLP)的核心突破
  1. XOR问题的历史性突破

  • 1969年Minsky提出单层感知机无法解决XOR问题,这一发现直接导致神经网络研究的第一次低谷。直到多层感知机结构的提出,才真正突破了线性不可分问题的限制。

  • 典型的三层MLP结构(输入层-隐藏层-输出层)通过引入非线性激活函数,成功实现了对XOR问题的分类,这成为神经网络发展史上的重要里程碑。

  • 隐藏层节点的作用相当于构造新的特征空间。以XOR问题为例,两个隐藏层节点实际上是将原始输入空间(x1,x2)映射到一个新的线性可分空间(y1,y1)。

  • 通过具体参数设置可以直观理解:当设置w11=1,w12=1,θ1=0.5时,第一个隐藏节点实现逻辑"OR";设置w21=-1,w22=-1,θ2=-1.5时,第二个隐藏节点实现逻辑"NAND";输出层再对这两个结果进行"AND"运算。

二、BP算法

BP算法基本思想
  1. 算法核心原理
    BP算法本质上是梯度下降法在多层神经网络中的具体应用。其核心思想是通过计算损失函数对网络权重的梯度,然后沿着梯度反方向调整权重参数,从而逐步减小网络输出与真实值之间的误差。算法包含两个关键阶段:前向传播计算网络输出,反向传播计算梯度并更新参数。

  • 前向传播过程

  • 梯度计算需要考虑后续所有节点的影响:
    ∂J/∂w[1]_ij = Σ(∂J/∂e_k·∂e_k/∂a_k·∂a_k/∂z_k·∂z_k/∂a[1]_i)·∂a[1]_i/∂z[1]_i·∂z[1]_i/∂w[1]_ij

  • 最终结果:
    Δw[1]_ij = α·δ[1]_i·x_j
    其中δ[1]_i = a[1]_i(1-a[1]_i)Σ(w[2]_ki·δ[2]_k)

  • 隐含层权重更新
    对于隐含层权重w[1]_ij:

  • 梯度计算通过链式法则分解:
    ∂J/∂w[2]_ij = ∂J/∂e_i · ∂e_i/∂a_i · ∂a_i/∂z_i · ∂z_i/∂w[2]_ij

  • 具体推导结果:
    Δw[2]_ij = α·δ[2]_i·a[1]_j
    其中δ[2]_i = a_i(1-a_i)e_i称为局部梯度

  • 输出层权重更新

  • 对于输出层权重w[2]_ij:

  • 网络层表示:L层网络(输入层为第0层,输出层为第L层)

  • 激活值计算:a[l] = σ(z[l]),其中z[l] = W[l]a[l-1]

  • 损失函数:采用均方误差J = 1/2(y-ŷ)^2

  • 参数更新规则:Δw = -α∂J/∂w,α为学习率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值