Как сделать процентное соотношение?
Мне нейронная сеть отдает 3 значения в пределах от 0 до 1. Я знаю что можно решить это добавив второй скрытый слой с функцией активации softmax, которая приравнивает сумму всех значений к 1 и дает процентное соотношение, но возможности добавить еще один слой нету. Я попробовал просто передать softmax функции эти 3 значения, но результаты не радуют, постоянно у "верного Ответа" значение 0.5 +-, а у остальных двух 0.2+-, хотя у "верного ответа" значение до softmax может быть и 0.9, что вроде бы говорит о том, что соотношение не должно быть таким.
function softmax(arr) {
return arr.map(function(value,index) {
return Math.exp(value) / arr.map( function(y /*value*/){ return Math.exp(y) } ).reduce( function(a,b){ return a+b })
})
var result = [0.000006768327753404569, 0.9992779971227321, 0.0001496386743053122]; //Второе значение соответствует верному ответу
console.log(softmax(result)); //[0.212024124500409, 0.5759214568750228, 0.21205441862456825]
ИЛИ
var result = [0.02666394935436529, 0.48080618662472013, 0.6632038908954789]; //Третье значение
console.log(softmax(result)); //[0.2239765928588699, 0.35272326142286886, 0.4233001457182612]