全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2869 0
2015-12-02

  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次循环之后就变成内存溢出的较大的数了,
实际运行  中  这三个值增大的速率特别快,不知道问题出在了哪里

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群