查看: 127|回复: 6

MATLAB中多层网络的net.lw{i,j}和net.b{k}的含义

[复制链接]

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-9-23 16:04:51 | 显示全部楼层 |阅读模式
网上有很多解释,但都是基于三层网络而言,这些解释看matlab帮助就能知道,但对多层网络并没什么说明,现在说一下多层下的权重矩阵和偏置。
先假设神经网络结构,{ 9  [80 50 20]  1 };9为输入层,[80 50 20]为隐层,1为输出层。

  • net.iw{1,1}  表示   输入层       到  第1层隐层  的权重,为80*9的矩阵;
  • net.lw{2,1}  表示   第1层隐层  到  第2层隐层  的权重,为50*80的矩阵;
  • net.lw{3,2}  表示   第2层隐层  到  第3层隐层  的权重,为20*50的矩阵;
  • net.lw{4,3}  表示   第3层隐层  到  输出层       的权重,为1*20的矩阵;
  • net.b{1}      表示   第1层隐层  的偏置,为80*1的矩阵;
  • net.b{2}      表示   第2层隐层 的偏置,为50*1的矩阵;
  • net.b{3}      表示   第3层隐层 的偏置,为20*1的矩阵;
  • net.b{4}      表示   输出层       的偏置,为1*1的矩阵;
可以以此类推。
        所以net.iw{1,1},模式也是固定的,仅表示输入层到第1层隐层的权重,之后就net.lw的事情了。net.lw{i,j} 表示 第j层隐层 第i层隐层 的权重。net.b{k} 表示 第k层隐层 的偏置或者说阈值,结构都为列向量。可以看出,这里假设的隐含层只有3层[80 50 20],但net中将最后一层输出层也当隐含层用了,所以 i k 可以取到4。
知道权重和偏置的位置,可以用算法优化,如遗传算法等。
回复

使用道具 举报

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-9-23 16:05:51 | 显示全部楼层
感谢  大佬  有例子脑子清楚多了
回复

使用道具 举报

2

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-9-23 16:06:41 | 显示全部楼层
大佬,为什么我试的iw{1,1}维度比输入少1,对不上呀
回复

使用道具 举报

4

主题

8

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2022-9-23 16:07:09 | 显示全部楼层
感谢解答,获益匪浅
回复

使用道具 举报

2

主题

5

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-9-23 16:07:26 | 显示全部楼层
大佬知道怎么调出创建的神经网络的关系函数吗?
回复

使用道具 举报

1

主题

8

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-9-23 16:07:52 | 显示全部楼层
感谢大佬,瞬间通透了
回复

使用道具 举报

1

主题

10

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-9-23 16:08:11 | 显示全部楼层
请问一下,各层初始的权重和阈值我们知道吗?还是程序自行设置的啊?我看上面的程序就像是只体现了层与层之间的关系,但并没有看出阈值和权重一开始是怎么设定的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表