0
我正在計算數據集的成本。有什麼辦法來簡化這個嵌套的循環?我應該使用應用還是矩陣乘法?向量化R中的嵌套循環(用於多類邏輯損失計算)
更多背景:這是多級邏輯損失將用於機器學習。 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