gpt4 book ai didi

r - 对 R 中的嵌套 for 循环进行向量化(用于多类逻辑损失计算)

转载 作者:行者123 更新时间:2023-11-30 09:29:24 25 4
gpt4 key购买 nike

我正在计算数据集的成本。有什么办法可以简化这个嵌套的 for 循环吗?我应该使用应用还是矩阵乘法?

更多背景:这是将在机器学习中使用的多类逻辑损失。 y_m 是从标签 y 导出的指标矩阵(10 个标签的分类)。我通过随机生成 h2 和 y 来简化问题,以获得最小的可重现代码。

h2=matrix(runif(5000*10),ncol=10)
y=round(runif(5000)*9)+1

y_m <- matrix(0,ncol=10,nrow=length(y))
y_m[cbind(1:length(y),y)] <- 1

J=0
for(i in 1:5000){
for(k in 1:10){
J=J-y_m[i,k]*log(h2[i,k])-(1-y_m[i,k])*log(1-h2[i,k]);
}
}
J

最佳答案

试试这个:

J <- sum( - y_m * log(h2) - (1-y_m) * log(1-h2) )

关于r - 对 R 中的嵌套 for 循环进行向量化(用于多类逻辑损失计算),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39513727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com