数据挖掘——神经网络

神经网络

考虑以下的二类训练样本集

Instance

Feature vector

Output label

1

(0, 0)

+

2

(1, 0)

+

3

(0, 1)

-

4

(-1, 0)

-

5

(1, -1)

-

对此训练样本集,我们需要训练一个三层神经网络(输入层、单隐层、输出层),其中单隐层的单元(神经元)数目设为2,激活函数(activation function)为Sigmoid函数: 

(1)在二维坐标系中画出这5个训练样本点,并讨论此训练样本集是否线性可分;

(2)试分析将Sigmoid激活函数换成线性函数的缺陷;

(3)令初始化参数全部为0,试运用前馈(feedforward)算法计算在初始化参数下此三层神经网络的输出;然后运用反向传播(backpropagation)算法,计算代价函数对所有参数的偏导数,并讨论将初始化参数全部设为0所带来的问题

(4)试给出一个神经网络(画出架构图,并写出激活函数及其对应的参数),使此训练样本集的5个训练样本点都可以被正确分类。

答:

1

由图可以看出,不存在任意一条直线可以将样本正确分类,所以此训练样本线性不可分。

2

使用Sigmoid激活函数,给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。而如果将Sigmoid函数换成线性函数,则隐藏层就失去了意义,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。

3

在前馈算法中,矩阵权重初始化为0导致计算的结果都为‘+’,分类不正确,神经网络没起到任何作用;在BP算法中,权重初始为0,将导致最终结果都为0,反向传播也失去了意义。
(4)

设计RBF神经网络如图,


通常采用两步过程来训练RBF网络,第一步:确定神经元中心Ci,常用的方式包括随机取样,聚类等;第二步,利用BP算法等来确定参数wiβi

经过代码测试,取隐藏层数为10,学习率为0.5,结果如图:



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值