【机器学习笔记】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算法是一种速度较快的梯度下降算法,容易陷入局部极小值的问题。

相关推荐
lmxnsI3 分钟前
docker使用笔记
笔记·docker·容器
AI明说18 分钟前
DDI-GPT:使用知识图谱增强的大模型对药物相互作用进行可解释的预测
人工智能·gpt·大模型·知识图谱·数智药师·数智药学
lijiachang03071838 分钟前
设计模式(一):单例模式
c++·笔记·学习·程序人生·单例模式·设计模式·大学生
视觉&物联智能42 分钟前
【杂谈】-AI搜索引擎如何改变传统SEO及其在内容营销中的作用
人工智能·搜索引擎·ai·aigc·seo
九河云43 分钟前
Amazon Bedrock Claude 3 在客户服务自动化中的应用方法
运维·人工智能·自动化·aws
文心快码 Baidu Comate1 小时前
打破视障壁垒,百度文心快码无障碍版本助力视障IT从业者就业无“碍”
人工智能·ai编程·文心快码·智能编程助手·智能代码助手
诚威_lol_中大努力中1 小时前
关于pytorch3d的安装
人工智能·pytorch·python
Suwg2091 小时前
《手写Mybatis渐进式源码实践》实践笔记(第七章 SQL执行器的创建和使用)
java·数据库·笔记·后端·sql·mybatis·模板方法模式
herogus丶1 小时前
【Spring AI】Spring AI Alibaba的简单使用
java·人工智能·spring·ai
胡西风_foxww1 小时前
【ES6复习笔记】let 和 const 命令(1)
笔记·学习·es6·const·let