经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+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次循环之后就变成内存溢出的较大的数了,
实际运行 中 这三个值增大的速率特别快,不知道问题出在了哪里
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|