《机器学习》周志华课后习题答案——第五章(1-7已完结)

第五章课后习题答案


一、试述将线性函数f(x) = wTx用作神经元激活函数的缺陷?

使用线性函数作为激活函数时,因为在单元层和隐藏层,其单元值仍是输入值X的线性组合。
若输出层也用线性函数作为激活函数,达不到“激活”与“筛选”的目的,这样相当于整个的线性回归。
在这里插入图片描述

二、试述使用图5.2(b)激活函数的神经元与对率回归的联系

对率回归,是使用Sigmoid函数作为联系函数时的广义线性模型。
对于单位阶跃函数(如左图所示):
请添加图片描述
单位阶跃函数不连续,难以求导,所以用对数几率函数代替。
对于对率函数(如以上右图所示):
请添加图片描述
使用Sigmoid激活函数,每个神经元几乎和对率回归相同,只不过对率回归在 [sigmoid(x)>0.5] 时输出为1,而神经元直接输出 [sigmoid(x)] 。

三、对于图5.7中的Vih,试推导出BP算法中的更新公式(5.13).

请添加图片描述
请添加图片描述

请添加图片描述

请添加图片描述

四、试述式(5.6)中学习率的取值对神经网络训练的影响.

学习率太低,每次下降得很慢,使得迭代次数增多,各种开销增大。
学习率太高,会在梯度下降最低点来回震荡,难以得到想要的结果。

五、试编程实现标准BP算法和累积BP算法,在西瓜数据集3.0上分别用这两个算法训练一一个 单隐层网络,并进行比较.

假设一个单隐层BP网络中,d个输入节点,隐层有q个神经元,输出层l个神经元。
BP算法要训练的参数有
输入层与隐层全连接的权值vijvij dq个
隐层神经元阀值θiθi q个
隐层与输出层全连接的权值wijwij q|个
输出层神经元阀值yiyi l个

BP算法每次迭代依次计算每一个样本, 最小化该样本输出值与真实值的差距,然后将修改过参数传给下一个样本,直到达到收敛条件。这样做参数更新频繁,也可能出现参数更改相互抵销的情况,于是便有了ABP。

ABP算法每次迭代会先算出所有样本的输出,然后最小化整个样本输出与真实值的最小平方和,修改参数后进行下一-次迭代。ABP参数更新次数比BP算法少的多,但是当累计误差降到-定程度时,进-步下降会非常缓慢。

迭代终止条件:这里设置的终止条件是相邻一百次迭代的累计误差的差值不超过0.001.

BP算法结果:
在西瓜数据集3上迭代1596次迭代,使得累计误差达到0.0013,此时对比表为

请添加图片描述
请添加图片描述
请添加图片描述
ABP:与BP算法最大的不同是参数在计算完全部样本才更改,由于ABP后期下降很慢,所以ABP的终止条件是经过1660次迭代。累计误差达到0.0015.
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、试设计一个BP改进算法,能通过动态调整学习率显著提升收敛速度.编程实现该算法,并选择两个UCI数据集与标准BP算法进行实验比较.

太难了,不会。

七、根据式(5.18)和(5.19),试构造一个能解决异或问题的单层RBF神经网络.

请添加图片描述
①构造数据集
请添加图片描述
由此设计RBF网络
●输入层:由于有2个输入,所以输入层2个神经元
●隐层:隐层神经元越多拟合的越好,设为可变的t个,但至少要比输入层多1个。
●输出层: 1个神经元.
该网络的参数有:
●xy:样本参数
●wi:隐层第i个神经元与输出神经元的权值
●ci:隐层第i个神经元的中心
●βi:样本与第i个神经元的中心的距离的缩放系数
Ci通过对x聚类或者随即采样获得。
下面使用ABP算法来确定参数wi, βi;(由于是基于ABP来改的)
请添加图片描述
迭代次数:144
累计误差:0.000088
结果如下:

请添加图片描述
请添加图片描述
请添加图片描述

  • 32
    点赞
  • 303
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 什么是泛化能力?泛化能力和过拟合之间有什么关系? 泛化能力是指模型在新的、未见过的数据上的表现能力。模型的泛化能力与其对训练数据的拟合程度有关,通常来说,过拟合的模型泛化能力较差。 2. 什么是交叉验证?交叉验证的作用是什么? 交叉验证是一种通过将数据集分成若干个子集来进行模型评估的方法。具体地,将数据集分成k个子集,每个子集都轮流作为测试集,其余子集作为训练集,重复k次,最终得到k个模型的评估结果的平均值。交叉验证的作用是提高模型评估的可靠性和泛化能力。 3. 留出法、k折交叉验证和留一法的区别是什么?它们各自适用于什么情况? 留出法是将数据集分成两部分,一部分作为训练集,另一部分作为测试集。留出法适用于数据集较大的情况。 k折交叉验证是将数据集分成k个子集,每个子集都轮流作为测试集,其余子集作为训练集,重复k次,最终得到k个模型的评估结果的平均值。k折交叉验证适用于数据集较小的情况。 留一法是k折交叉验证的一种特殊情况,即将数据集分成n个子集,每个子集都作为测试集,其余子集作为训练集,重复n次。留一法适用于数据集较小且样本数较少的情况。 4. 为什么要对数据进行预处理?数据预处理的方法有哪些? 数据预处理可以提高模型的表现,并且可以减少过拟合的风险。数据预处理的方法包括:标准化、归一化、缺失值填充、特征选择、特征降维等。 5. 什么是特征选择?特征选择的方法有哪些? 特征选择是指从所有特征中选择出对模型预测结果有重要贡献的特征。特征选择的方法包括:过滤式方法、包裹式方法和嵌入式方法。其中,过滤式方法是基于特征间的关系进行特征选择,包裹式方法是基于模型的性能进行特征选择,嵌入式方法是将特征选择嵌入到模型训练中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值