news 2026/6/15 2:10:54

BP神经网络用什么训练算法(traingd、traingdm、trainlm)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BP神经网络用什么训练算法(traingd、traingdm、trainlm)

在使用matlab来训练BP神经网络时,我们不免会疑惑,究竟要怎么选择训练函数呢?

一、先看看BP神经网络有哪些训练算法

我们先来看看matlab为BP神经网络提供了哪些训练函数,如下:

二、选traingd还是选trainlm?

选traingd?

有许多教程都说BP神经网络是用traingd、也就是梯度下降算法来训练。但实际上,梯度下降算法只是一种粗糙的基础算法,作为入门学习可以用来帮助理解。如果一不小心,学艺不精,直接就使用traingd算法,那么训练往往会非常缓慢,而且效果有时也不太理想。

还是选trainlm吧!

如果我们仔细看一下就会发现,matlab默认使用的是trainlm算法。那么,trainlm算法和traingd算法有什么区别呢,我们都知道,traingd(梯度下降算法)使用的是梯度的信息、一步一步往负梯度方向迭代。而trainlm比traingd的优势在于,trainlm会利用二阶信息(也就是二阶导),所以它比traingd的信息利用得更充分、更具"长远眼光",训练起来就会快许多。
有些同学可能觉得很抽象,下面举个例子就会明白了,如下:

从图中就可以看到,一阶的迭代稳得很,但它迭代得非常慢,总是一小步一小步的,而二阶迭代由于有二阶信息(x^2项),所以它会找到二阶信息的最小值处、并迭代过去,这就比一阶的小步迭代要快许多了。
直接使用trainlm算法,就要比梯度下降法要快很多,matlab默认就是trainlm法,我们跟着来使用就可以了。

三、再来看看traingdm是什么

此外,traingdm算法是动量梯度下降法,它属于梯度下降法的改进,直接看下图就知道它是什么意思了:

可以看到,动量梯度下降法就是模仿石头下坡的原理,它在下坡时越滚越快,这样它就比梯度下降法要快许多了,同时,由于它具有动量,遇到一些较浅的局部最优时,它会凭借动量跳出局部最优,这也是动量梯度下降法的一个重要特色。
但是,相对trainlm法,动量梯度下降法的速度还是略慢了一些,最好还是选择trainlm法。

结束语

原理就是这么简单的一个原理,实际使用时直接选择matlab推荐的默认算法trainlm就可以了,改为其它的训练算法没太大必要。

相关文章

《老饼讲解-BP神经网络-教程》
《老饼讲解-RBF神经网络-教程》
《老饼讲解-深度学习-教程》

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 2:06:52

【Kafka源码解读和使用指南】第62篇:Kafka数据不丢失实战指南——生产者、Broker、消费者三端防护

上一篇【第61篇】Kafka可靠性保证全解析——acks、ISR、min.insync.replicas那点事 下一篇【第63篇】Kafka副本机制深度解析——Leader选举是如何保证数据不丢的 摘要 “消息队列丢消息"是每个后端工程师的噩梦。Kafka的消息不丢失不是某一个配置能搞定的,它是…

作者头像 李华
网站建设 2026/6/15 2:05:53

AI 一周大事盘点(2026 年 6 月 7 日~2026 年 6 月 13 日)

【摘要】本周 AI 行业资本与监管动态密集。国际上,OpenAI 启动 IPO 流程,Anthropic 旗舰模型遭美国出口管制,英伟达加速全球算力布局,苹果完成 Siri 大升级。国内方面,华为、智谱相继推进大模型开源开放,北…

作者头像 李华
网站建设 2026/6/15 2:05:50

Notepad--终极指南:国产跨平台编辑器的完整使用教程

Notepad--终极指南:国产跨平台编辑器的完整使用教程 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- 还在为…

作者头像 李华
网站建设 2026/6/15 2:05:50

NLP技术在漏洞预测中的应用与优化

1. 项目概述:基于NLP的漏洞预测技术在网络安全攻防对抗中,攻击者往往先于防御方发现漏洞利用方式。传统漏洞管理依赖CVE等漏洞库的事后披露,存在明显的时间差。我们开发的这套系统创新性地通过分析ATT&CK框架中的攻击技术描述&#xff0c…

作者头像 李华
网站建设 2026/6/15 2:04:57

从51单片机到STM32:一个嵌入式工程师的面试复盘与避坑指南

从51单片机到STM32:嵌入式工程师的面试突围实战手册十年前面试官问"如何用51实现PWM",今天的问题已经变成"为什么选择STM32的HAL库而非标准库"。这个行业正在经历从8位机到32位机的代际跃迁,而大多数高校实验室里的开发板…

作者头像 李华
网站建设 2026/6/15 2:03:18

C++ 入门学习经验 07——数组上:数组的简单理解

大家好啊!这里是 阳阳的博客 ,一个正在努力学习技术的大学生。指针相关内容我们先暂时告一段落,从这篇开始,我们进入一个新的基础知识点:数组。所以今天这篇,主要聊几个简单问题:为什么需要数组…

作者头像 李华