【发布时间】:2018-02-25 18:39:40
【问题描述】:
我从this 论文中获得了这个算法:
我尝试在 R 中实现它,但是当我乘以
中的 i-th 标准基向量时尺寸不正确到目前为止,这是我的代码:
#initializing matrices
Boston <- read.csv("train.csv")
Boston=na.omit(Boston)
x=model.matrix(crim~.,Boston)[,-c(1,2)]
rownames(x)=c()
y=as.matrix(Boston$crim)
value1=matrix(0,13,1)
value=matrix(0,13,1)
#defining a 0 beta vector 13x1 and epsilon
beta=as.matrix(rep(0,13))
epsilon=0.1
#defining a matrix for the standard basis vecor
e=matrix(0,13,13)
for(t in 1:13){
e[t,t]=as.matrix(1)
}
for(k in 1:13){
#Finding the maximum i
for(j in 1:13){
value[j]=t(x)[j,]%*%(y-x%*%beta)
value=abs(value)
i=which.max(value)
}
#defining the standard basis vector
e_basis=matrix(e[,i],13,1)
value1[k]=epsilon*sign(t(x)[i,]%*%(y-x%*%beta))
beta=beta+value1
}
代码可以编译,但我不确定我是否正确实现了除基向量之外的所有其他内容。
train.csv 文件(波士顿数据集)可在此处找到:https://www.kaggle.com/c/boston-housing。
【问题讨论】:
标签: r machine-learning regression