我是靠谱客的博主 诚心硬币,最近开发中收集的这篇文章主要介绍《机器学习》慕课版课后习题-第6章,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

中国工信出版集团、人民邮电出版社出版的赵卫东、董亮编著的《机器学习》慕课版

第6章 神经网络

1.简述感知机的基本原理。

解:一个感知机可以接受n个输入x=(x1, x2, x3, ……, xn),对应n个权值w=(w1, w2, w3, ……, wn),此外还有一个偏置项阈值,就是b,神经元将所有输入参数与对应权值进行加权求和,得到的结果经过激活函数变换后输出,计算公式为y=f(x*w+b)

2.讨论BP神经网络的学习过程。

解:BP神经网络训练过程的基本步骤可以归纳如下:

初始化网络权值和神经元的阈值,一般通过随机的方式进行初始化;

前向传播:计算隐层神经元的输出层神经元的输出;

后向传播:根据目标函数公式修正权值wj。

上述过程反复迭代,通过损失函数和成本函数对前向传播结果进行判定,并通过后向传播过程对权重参数进行修正,起到监督学习的作用,一直到满足终止条件为止。

3.BP神经网络有哪些常见应用?举例说明某一具体应用。

解:BP神经网络主要用于以下四个方面。

函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。

模式识别:用一个待定的输出向量将它与输入向量联系起来。

分类:把输入向量所定义的用合适的方式进行分类。

数据压缩:减少输出向量维数以便于传输或存储。

系统控制是吸引工程学界关注的领域之一。当系统有时间延迟并需要精确控制时。控制设计是一项艰巨的任务,需要先进的控制理论。在许多控制方案中,PID控制广泛用于工程系统,但调整PID参数的方法通常需要时间和精力才能实现精确控制。BP神经网络可以用于设计神经网络系统。一个神经网络模型(NNM)用于工厂识别,另一个神经网络控制器(NNC)可以相应地调整PID参数。通过NNM在线学习和修复,可以预测工厂产量。此外,该技术用于识别工厂的模型。通过模拟实验和实际测试将结果与现有方法的结果进行比较。验证显示了改进的有效性和稳健性。

4.神经网络的激活函数有哪些?它们对神经网络的性能有何影响?

解:激活函数经常使用Sigmoid函数、tanh函数、Relu函数。

Sigmoid函数的优点在于输出范围有限,数据在传递的过程中不容易发散,并且其输出范围为(0, 1),可以在输出层表示概率值。Sigmoid函数的导数是非零的,很容易计算。

Sigmoid函数的主要缺点是梯度下降非常明显,且两头过于平坦,容易出现梯度消失的情况,输出的值域不对称,并非像tanh函数那样值域是-1到1.

双曲正切函数将数据映射到[-1, 1],解决了Sigmoid函数输出与不对称问题。另外,它是完全可微分和反对称的,对称中心在原点。然而它的输出值域两头过于平坦,梯度消失问题仍然存在。为了解决学习缓慢和梯度消失问题,可使用其更加平缓的变体,如log-log、Softsign、Symmetrical Sigmoid等。

Relu函数是目前神经网路里常用的激活函数,由于Relu函数是线性特点使其收敛速度比Sigmoid、tanh更快,而且没有梯度饱和的情况出现。计算更加高效,相比于Sigmoid、tanh函数,只需要一个阈值就可以得到激活值,不需要对输入归一化来防止达到饱和。

5.在BP神经网络训练过程中如何减少陷入最小极值点?

解:可以有多种方法:

a.以多组不同参数初始化多个神经网络,按标准方法训练后去其中误差最小的解作为最终参数。相当于从多个不同的初始点开始搜索,这样可能陷入不同的局部最小值,从中选出可能获得更接近全局最小的结果。

b.使用模拟退火。模拟退火在每一步都以一定概率接受比当前解更差的结果,从而有助于跳出局部最小。在每步迭代中接受次优解的概率随着时间的推移而逐渐降低,从而保证了算法稳定。

c.采用了随机梯度下降。与标准梯度下降的精确计算梯度不同,随机梯度下降在计算梯度的时候加入了随机因素,因此,即使陷入局部极小点,它计算出来的梯度仍可能不为0,就有机会跳出局部最小继续搜索。

d.遗传算法。

6.在BP神经网络的训练过程中学习步长、隐层个数、隐层单元数等参数如何调整?

解:算法步长的选择:步长实际上取值取决于数据样本,可以多取一些值,从大到小,分别运行算法,看看迭代效果,如果损失函数在变小,说明取值有效,否则要增大步长。步长太大,会导致迭代过快,甚至有可能错过最优解。步长太小,迭代速度太慢,很长时间算法都不能结束。所以算法的步长需要多次运行后才能得到一个较优的值。

网络的层数:理论已经证明,具有偏差和至少一个S型的隐层加上一个线性输出层的网络,能够逼近任何有理函数,增加层数可以进一步降低误差,提高精度,但同时也使网络复杂化。另外不能用仅具有非线性激活函数的单层网络来解决问题,因为能用单层网络解决的问题,用自适应线性网络也一定能解决,而且自适应线性网络的运算速度更快,而对于只能用非线性函数解决的问题,单层精度又不够高,也只有增加层数才能达到期望的结果。

隐层单元数:在能够解决问题的前提下,再加上一两个神经元,以加快误差下降速度即可。

7.RBF神经网络的基本原理是什么?

解:径向基函数网络的隐含层是由径向基函数神经元组成,这一神经元的变换函数为径向基函数。典型的RBF网络由输入层、RBF隐层和由线性神经元组成的输出层。与传统的神经网络相比,其主要区别是隐层节点中使用了径向基函数、对输入进行了高斯变换、将在原样本空间中的非线性问题,映射到高维空间中使其变得线性,然后在高维空间里用线性可分算法解决,RBF网络采用高斯函数作为核函数。

RBF网络的隐层神经元自带激活函数,所以其层数可以只有一层隐层,权重值数量更少,所以RBF网络较BP网络速度快很多。

8.RBF为什么可以减少局部最少值难题?

解:当RBF的中心点确定以后,低维空间的输入通过非线性函数到一个高维空间的这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。由此课件,从总体上看,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。这样网络的权就可由线性方程组直接解出,从而大大加快学习速度并避免局部极小问题。

9.Elman神经网络的优点是什么?举例说明这种网络的应用。

解:Elman网络是在时间上动态的,具有内部动态反馈的功能,承接层的设置使得Elman网络能够有效应对具有时变特征的数据,在带有时序性的样本数据上有着比静态神经网络更好的预测性能。

建筑物是社会生活中必要的组成部分,消耗着大量的能源,也存在着各种系统和服务为建筑物提供更好的控制与监控。来自格拉纳达大学的团队提出了一种方法预测公共建筑物的能耗,从而在不影响用户舒适度与健康的情况下节能并提高能源效率。其中使用Elman神经网络来预测能耗,并用遗传算法来优化模型中的权值。

10.与决策树比较,神经网络适合处理什么类型的数据和问题?

解:在中小数据集上,优先选择集成树模型,大数据集上推荐神经网络;在需要模型解释度的项目上,优先使用树模型;在项目时间较短的项目上,如果数据质量低(大量缺失值、噪音等),优先使用集成树模型;在硬件条件优先及机器学习知识有限的前提下,优先选择树模型;对结构化较高的数据,尤其是语音、图片、语言,优先使用神经网络模型(往往其数据量也比较大)。

11.如何避免过拟合?

解:常用的防止过拟合的方法有参数范数惩罚、数据增强、提前终止、Bagging等集成方法、Dropout、批正则化等。

12.为什么要对模型的输入数据进行归一化?

解:归一化的目的就是使得预处理的数据被限定在一定的范围内(比如[0, 1]或者[-1, 1]),从而消除奇异样本数据导致的不良影响。

13.什么是梯度消失?

解:因为通常神经网络所用的激活函数是sigmoid函数,这个函数有个特点,就是能将负无穷到正无穷的数映射到0和1之间,并且对这个函数求导的结果是f’(x)=f(x)(1-f(x))。因此两个0到1之间的数相乘,得到的结果就会变得很小了。神经网络的反向传播是逐层对函数偏导相乘,因此当神经完了估计层数非常深的时候,最后一层产生的偏差就因为乘了很多小于1的数而越来越小,最终就会变为0,从而导致层数比较浅的权重没有更新,这就是梯度消失。

14.如何加快梯度下降的速度?

解:可以使用mini-batch、Stochastic gradient descent等方法。

mini-batch是将训练集分组,分组之后,分别对每组求梯度,然后更新参数。假如分为8组,则每次迭代将会做8次梯度下降,更新8次参数。所以mini-batch比传统的梯度下降法下降的速度快。

Stochastic gradient descent可以看做是mini-batch的一种特殊情况,当mini-batch的size等于1时,mini-batch就退化为Stochastic gradient descent。此时每次迭代中,对于数据集中每个样本都做一次梯度下降。还可以使用Monmentum、RMSprop、Adam等方法。

最后

以上就是诚心硬币为你收集整理的《机器学习》慕课版课后习题-第6章的全部内容,希望文章能够帮你解决《机器学习》慕课版课后习题-第6章所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部