【机器学习笔记】10 人工神经网络

人工神经网络发展史

1943年,心理学家McCulloch和逻辑学家Pitts建立神经网络的数学模型,MP模型

每个神经元都可以抽象为一个圆圈,每个圆圈都附带特定的函数称之为激活函数,每两个神经元之间的连接的大小的加权值即为权重。

1960年代,人工网络得到了进一步地发展感知机和自适应线性元件等被提出。M.Minsky仔细分析了以感知机为代表的神经网络的局限性,指出了感知机不能解决非线性问题,这极大影响了神经网络的研究。

1982年,加州理工学院J.J.Hopfield教授提出了Hopfield神经网络模型,引入了计算能量概念,给出了网络稳定性判断。

1986年,Rumelhart和McClelland为首的科学家提出了BP(Back Propagation)神经网络的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,目前是应用最广泛的神经网络。

极限学习机(Extreme Learning Machine, ELM),是由黄广斌提出的用于处理单隐层神经网络的算法

随机初始化输入权重𝛼𝑖和偏置,只求解输出权重值𝛽𝑖。

优点:

1.学习精度有保证

2.学习速度快

感知机算法(Perceptron Algorithm)

  • 感知机算法流程 :
    随机选择模型参数的(𝑤0, 𝑏0)初始值。
    选择一个训练样本(𝑥𝑛, 𝑦𝑛)。
    若判别函数𝑤T𝑥𝑛 + 𝑏 > 0,且𝑦𝑛 = −1,则𝑤 = 𝑤 − 𝑥𝑛,𝑏 = 𝑏 − 1。
    若判别函数𝑤T𝑥𝑛 + 𝑏 < 0,且𝑦𝑛 = +1,则𝑤 = 𝑤+𝑥𝑛,𝑏 = 𝑏+1。
    再选取另一个训练样本(𝑥𝑚, 𝑦𝑚),回到2。
    终止条件:直到所有数据的输入输出对都不满足2中的(i)和(ii)中之一,则退出循环。

BP算法


  • 最常用Sigmoid函数的优缺点:
    优点:

    1.函数处处连续,便于求导

    2.可将函数值的范围压缩至0,1,可用于压缩数据,且幅度不变

    3.便于前向传输
    缺点:

    1.在趋向无穷的地方,函数值变化很小,容易出现梯度消失,不利于深层神经

    的反馈传输

    2.幂函数的梯度计算复杂

    3.收敛速度比较慢

  • BP算法主要步骤

    第一步,对样本明确预测输出值与损失函数

    第二步,明确参数调整策略

    第三步,计算输出层阈值的梯度

    第四步,计算隐层到输出层连接权值的梯度

    第五步,计算隐层阈值的梯度

    第六步,计算输入层到隐层连接权值的梯度

    第七步,引出归纳结论






    只要知道上一层神经元的阈值梯度,即可计算当前层神经元阈值梯度和连接权值梯度。

    随后可以计算输出层神经元阈值梯度,从而计算出全网络的神经元阈值和连接权值梯度。

    最终达到训练网络的目的

  • BP算法的优缺点
    优点

    1.能够自适应、自主学习。BP可以根据预设参数更新规则,通过不断调整神经网络中的参数,已达到最符合期望的输出。

    2.拥有很强的非线性映射能力。

    3.误差的反向传播采用的是成熟的链式法则,推导过程严谨且科学。

    4.算法泛化能力很强。
    缺点

    1.BP神经网络参数众多,每次迭代需要更新较多数量的阈值和权值,故收敛速度比较慢。

    2.网络中隐层含有的节点数目没有明确的准则,需要不断设置节点数字试凑,根据网络误差结果最终确定隐层节点个数

    3.BP算法是一种速度较快的梯度下降算法,容易陷入局部极小值的问题。

相关推荐
五哈俱乐部1 分钟前
TCHouse-C分布式表创建指南
笔记
卷福同学6 小时前
不用服务器,不用配环境,我10分钟上线了一个AI Agent
人工智能·后端·算法
码兄科技7 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
Zik----8 小时前
CCswitch-code
人工智能
问君能有几多愁~8 小时前
C++ 数据结构复习笔记
数据结构·c++·笔记
r_oo_ki_e_9 小时前
Java Map 集合学习笔记
java·笔记·学习
AI科技星9 小时前
全域谱分析:无穷维超复数信息场分形统一场论 ——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·机器学习·金融·乖乖数学·全域数学
stormzhangV9 小时前
为什么你的 AI 像智障
人工智能
ai产品老杨9 小时前
H264 H265视频分析常见问题和排查清单
人工智能·算法·音视频
项目经理老王10 小时前
OpenClaw无捆绑安装包,安全纯净版AI助手部署
人工智能·安全