楼主: 汪苏泷阿悄
2751 0

[问答] R语言编写单层BP神经网络的不收敛问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

11%

还不是VIP/贵宾

-

威望
0
论坛币
3082 个
通用积分
40.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3846 点
帖子
3
精华
0
在线时间
152 小时
注册时间
2015-4-25
最后登录
2022-7-30

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

  r = 0.003
  alpha <- matrix(runif(30, -0.7, 0.7),nrow = 10,ncol = 3)
  beta <- c(runif(11, -0.7, 0.7))
  z <- matrix(nrow = 100, ncol = 10)
  x1 <- cbind(c(rep(1,100)),x1)
  for(i in 1:1000)
  {
    z <- sig(alpha %*% t(x1))
    z <- rbind(c(rep(1,100)),z)
    yh <- t(z)%*%beta
    delta <- (-2)*(y-yh)
    s <- derivs(alpha%*%t(x1))*(beta[-1]%*%t(delta))
    beta <- (beta - r*(z %*% delta) +2*wd*beta)
    alpha <- (alpha - r*(s %*% x1)  +2*wd*alpha)
  }
x <- cbind(rnorm(100, 0, 1),rnorm(100, 0, 1))
xs <- scale(x, center = TRUE, scale = TRUE)
Z <- cbind(rnorm(100, 0, 1))
a1 <- as.matrix(c(3,3))
a2 <- as.matrix(c(3,-3))
y <- sig(x%*%a1)+(x%*%a2)^2+0.3*Z

xs是输入值标准化的结果,y是预测模型
单层(Single hidden layer模型,Hidden 变量Z 的unit为10)

r是学习速率 learing rate , wd 是Weight Decay 的值,相当于在均方误差R(Thelta)后面加上Penalty项

结果权值  aplha 和beta 以及 估计值yh 大约经过3次循环之后就变成内存溢出的较大的数了,
实际运行  中  这三个值增大的速率特别快,不知道问题出在了哪里

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:BP神经网络 神经网络 神经网 不收敛 R语言 网络

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-6 03:44