大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
虽然异或问题成为感知器和早期神经网络的阿喀琉斯之踵,但它并非无解的问题。恰恰相反,解决它的思路相当简单,就是将单层感知器变成多层感知器。
一、今日所学
1,多层感知器(multilayer perceptron)包含一个或多个在输入节点和输出节点之间的隐藏层(hidden layer),除了输入节点外,每个节点都是使用非线性激活函数的神经元;
2,多层感知器是一类前馈人工神经网络;
3,多层感知器的训练包括以下步骤:首先确定给定输入和当前权重下的输出,再将输出和真实值相减得到误差函数,最后根据误差函数更新权重。在训练过程中,虽然信号的流向是输出方向,但计算出的误差函数和信号传播的方向相反,也就是向输入方向传播的,正因如此,这种学习方式得名反向传播(backpropagation)。
4,反向传播算法通过求解误差函数关于每个权重系数的偏导数,以此使误差最小化来训练整个网络
5,在反向传播算法中,首先要明确误差函数的形式;
6,在反向传播算法中,每个输出神经元的误差都被写成平方项的形式,整个神经网络的误差则是所有输出神经元的误差之和;
7,明确定义了误差函数后,就要想方设法让它取得最小值。影响误差函数的因素无外乎三个:输入信号、传递函数和权重系数;
8,多层感知器采用对数几率函数作为传递函数;
9,求解误差函数的最小值就要找到误差函数的梯度,再根据梯度调整权重系数,使误差函数最小化;
10,链式法则是个非常有用的数学工具,它的思想是求解从权重系数到误差函数这个链条上每一环的作用,再将每一环的作用相乘,得到的就是链条整体的效果;
11,多层感知器的核心结构就是隐藏层,之所以被称为隐藏层是因为这些神经元并不属于网络的输入或输出。
12,在多层神经网络中,隐藏神经元的作用在于特征检测。随着学习过程的不断进行,隐藏神经元将训练数据变换到新的特征空间之上,并逐渐识别出训练数据的突出特征。
13,一个经验法则是训练样本数目应该是权重系数数目的 10 倍,这显然对计算能力提出了较高的要求;
14,多层感知器的训练要需要多次遍历整个数据集,因而迭代次数就成为另一个重要的问题。预先设定迭代次数无法保证训练效果,预先设定误差阈值则可能导致算法无法终止。因而常用的办法是:一旦误差函数停止减小,就终止学习算法。
15,多层感知器的训练要需要多次遍历整个数据集,因而迭代次数就成为另一个重要的问题。预先设定迭代次数无法保证训练效果,预先设定误差阈值则可能导致算法无法终止。因而常用的办法是:一旦误差函数停止减小,就终止学习算法。
二、今日重点
1,在感知器的输入层和输出层之间添加隐藏层,就可以得到多层感知器;
2,多层感知器是一类前馈神经网络,采用的是反向传播的学习方式;
3,反向传播算法要根据误差函数的梯度来调整权重系数,需要应用求导的链式法则;
4,单个隐藏层就能使多层感知器以任意精度逼近任意复杂度的连续函数。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179524.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...