神经网络与深度学习-学习笔记(1)——感知机与BP网络

本文详细介绍了对数回归、指数回归以及多分类回归方法,重点阐述了感知机模型(包括其原理、训练过程和与神经元的类比),讨论了多层感知机如何解决XOR问题,并讲解了多层前馈网络,包括BP学习算法在其中的应用。
摘要由CSDN通过智能技术生成

目录

对数回归与多分类回归

指数回归

多分类回归

感知机模型

感知机原理

 感知机模型

训练过程

感知机与神经元类比

多层感知机

XOR问题

多层感知机

多层前馈网络


对数回归与多分类回归

指数回归

        从概率角度二分类问题可使用条件概率描述:
P(y^{(i)}=1|\mathbf{x}^{(i)})=h_{\mathbf{\theta}}(\mathbf{x}^{(i)})=\frac{1}{1+e^{-\mathbf{\theta}^T\mathbf{x}^{(i)}}}
P(y^{(i)}=0|\mathbf{x}^{(i)})=1-P(y=1|\mathbf{x}^{(i)})=1-h_{\mathbf{\theta}}(\mathbf{x}^{(i)})
因为是二分类,可假设输出为{0,1}。
        重新修改指标函数:
J(\mathbf{\theta})=-\sum_{i}^{}( y^{(i)} log (h_{\mathbf{\theta}}(\mathbf{x}^{(i)})) + (1 - y^{(i)})log(1-h_{\mathbf{\theta}}(\mathbf{x}^{(i)})))
对其最小化有:
{\nabla _\theta }J(\theta ) =\sum_{i}^{} \mathbf{x}^{(i)}(h_{\mathbf{\theta}}(\mathbf{x}^{(i)}-y^{(i)}))
        根据贝叶斯公式,二分类问题可使用条件概率描述:
P(y=1|\mathbf{x},\mathbf{\theta})=h_{\mathbf{\theta}}(\mathbf{x}^{(i)})
P(y=0|\mathbf{x},\mathbf{\theta})=1-h_{\mathbf{\theta}}(\mathbf{x}^{(i)})
        假设各样本相互独立,即服从伯努利(Bernoulli)分布。则的合理估计值应当是让所有样本事件产生的几率最大,即应当是极大似然的,因此取似然函数:
L(\mathbf{\theta})=\prod_{i=1}^{m}p(y^{(i)}|\mathbf{x}^{(i)},\mathbf{\theta})

多分类回归

        对于有𝑘个标记的分类问题,分类函数如下:
{h_\theta }({\mathbf{x}^{(i)}}) = \left[ {\begin{array}{*{20}{c}} {p({y^{(i)}} = 1|{\mathbf{x}^{(i)}},\theta )}\\ {p({y^{(i)}} = 2|{\mathbf{x}^{(i)}},\theta )}\\ \vdots \\ {p({y^{(i)}} = k|{\mathbf{x}^{(i)}},\theta )} \end{array}} \right] = \frac{1}{​{\sum\nolimits_{c = 1}^k {​{e^{\theta _c^T{\mathbf{x}^{(i)}}}}} }}\left[ {\begin{array}{*{20}{c}} {​{e^{\theta _1^T{\mathbf{x}^{(i)}}}}}\\ {​{e^{\theta _2^T{\mathbf{x}^{(i)}}}}}\\ \vdots \\ {​{e^{\theta _k^T{\mathbf{x}^{(i)}}}}} \end{array}} \right]
        因为是多分类,所以需要多个分割超平面,因此有:
\theta = \left[ {\begin{array}{*{20}{c}} {\theta _1^T}\\ {\theta _2^T}\\ \vdots \\ {\theta _k^T} \end{array}} \right]
        取代价函数:
J(\theta ) = - \left[ {\sum\limits_{i = 1}^m {\sum\limits_{k = 1}^k {1\{ {y^{(i)}} = k\} } } \log \frac{​{\exp ({\theta ^{(k)T}}{x^{(i)}})}}{​{\sum\nolimits_{j = 1}^k {\exp ({\theta ^{(j)T}}{x^{(i)}})} }}} \right]
        对应梯度:
{\nabla _{​{\theta ^{(k)}}}}J(\theta ) = - \sum\limits_{i = 1}^m {[{​{\bf{x}}^{(i)}}} (\{ {y^{(i)}} = k\} - P({y^{(i)}} = k|{​{\bf{x}}^{(i)}};{\bf{\theta }}))]
        这种方式又称为Softmax。
        前面代价函数可简写为:
l(\mathbf{y},\hat{\mathbf{y}})=-\sum_{j=1}^{k}y_jlog\hat y_j
称为交叉熵损失。

感知机模型

        感知机(Perceptron)是在1957年时由Rosenblatt提出的,可以解决线性分类问题,是神经网络和支持向量机的基础。感知机可以用来解决线性分类问题:

感知机原理

        在方程为ax+by+c=0上的一点(x_0,y_0),到直线的距离为:

d=\frac{ax_0+by_0+c}{\sqrt{a^2+b^2}}

        如果是高维情况,分类面为超平面,则有:

d=\frac{\mathbf{w}^T \mathbf{x}}{||\mathbf{w}||}

其中,w_0=b

 感知机模型

        感知机从输入到输出的模型如下:

y=f(x)=sign(\mathbf{w}^T\mathbf{x})

其中 sign 为符号函数。

         对于样本(x^{(i)},y^{(i)}),有:

  • 正确分类样本: \frac{y^{(i)}(\mathbf{w}^T \mathbf{x}^{(i)})}{||\mathbf{w}||}>0
  • 错误分类样本:\frac{y^{(i)}(\mathbf{w}^T \mathbf{x}^{(i)})}{||\mathbf{w}||}<0
        因此可定义损失函数如下:
L(\mathbf{w})=-\frac{1}{||\mathbf{w}||}\sum y^{(i)}(\mathbf{w}^T\mathbf{x}^{(i)})
        我们需要找到超平面参数\mathbf{w}^*,满足:
L(\mathbf{w}^*)=\mathop {\min }\limits_w \sum y^{(i)}(\mathbf{w}^T\mathbf{x}^{(i)})

输入:训练数据集(x^{(i)},y^{(i)})(监督学习)

输出:\mathbf{w}

  1. 赋初值,数据序号i=1,迭代次数k=0
  2. 选择数据点(x^{(i)},y^{(i)})
  3. 判断该数据点是否为当前模型的误分类点,即判断若y^{(i)}(\mathbf{w}^T \mathbf{x}^{(i)}) \le 0,则更新权值:
  4. 转到步骤2,直到训练集中没有误分类点。

训练过程

        线性可分参数迭代过程:

        线性不可分参数迭代过程:

感知机与神经元类比

多层感知机

XOR问题

        线性不可分问题:无法进行线性分类。Minsky 1969年提出XOR问题:
      

多层感知机

          解决方案:使用多层感知机
        • 在输入和输出层间加一或多层隐单元,构成多层感知器(多层前馈神经网络)。
        • 加一层隐节点(单元)为三层网络,可解决异或( XOR )问题由输入得到两个隐节点、一个输出层节点的输出:

        可得到:

  •         三层感知器可识别任一凸多边形或无界的凸区域。
  •         更多层感知器网络,可识别更为复杂的图形。
        多层感知器网络,有如下定理:
        定理1:
        若隐层节点(单元)可任意设置,用三层阈值节点的网络,可以实现任意的二值逻辑函数。
        定理2:
        若隐层节点(单元)可任意设置,用三层S型非线性特性节点的网络,可以一致逼近紧集上的连续函数或按 范数逼近紧集上的平方可积函数。

多层前馈网络

        多层感知机(MLP)是人工神经网络中的一种,属于前馈神经网络的范畴。它由至少三层构成:输入层、一个或多个隐藏层以及输出层。在多层感知机中,信息的流动是单向的,从输入层流向隐藏层,然后到达输出层。

        输入层负责接收外部输入的数据,并将其传递给隐藏层。每个隐藏层的神经元会对输入数据进行加权求和,并加上一个偏置项,然后通过激活函数处理得到该神经元的输出。这个输出又会作为下一层神经元的输入。隐藏层可以有多个,它们的作用是提取输入数据的特征并进行非线性变换。

        输出层的神经元根据前一层的输出计算最终结果,同样涉及加权求和、偏置和激活函数。多层感知机的输出可以是分类标签、数值预测或者其他类型的数据。

        多层感知机的学习过程通常采用反向传播算法,该算法通过计算损失函数的梯度,并根据梯度下降原则调整网络中的权重和偏置,以最小化输出误差。

        全连接网络是多层感知机的一种特殊形式,其中除了输入层之外,每一层的神经元都与前一层的所有神经元相连。这种连接方式使得网络能够捕捉到输入数据之间的复杂关系。

        多层前馈网络的反向传播 (BP)学习算法,简称BP算法,是有监督的学习,它是梯度下降法在多层前馈网中的应用。
        网络结构:见图,𝐮(或𝐱 )、𝐲是网络的输入、输出向量,神经元用节点表示,网络由输入层、隐层和输出层节点组成,隐层可一层,也可多层(图中是单隐层),前层至后层节点通过权联接。由于用BP学习算法,所以常称BP神经网络。
  • 已知网络的输入/输出样本,即监督信号
  • BP 学习算法由正向传播和反向传播组成:
  1. 正向传播是输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。
  2. 反向传播是将误差 ( 样本输出与网络输出之差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值