Целый день насиловал мозг пытаясь понять как работает Нейроновая сеть. Как я понял приходит данные придаем им вес и передаем в скрытые нейроны(поля) после же суммируем и передаем в активиционный Метод который выводит ответ. Каждый же раз когда пытаюсь написать простую сеть получается какая-то фигня. Вот например задачка. Меня пригласили на вечеринку. И есть три фактора основаясь на которых я делаю решения идти мне на вечеринку или нет. Первый это есть ли дождь или нет. Вторая будет ли еда или нет. Третье будут ли друзья или нет. Вот вопросы которые меня мучают: 1) как вычислить правильно вес? 2) как обучить сеть по нужному pattern?
Я же попытался решить это и получилось нечто:
public class Project {
// factors[0] = dozhd
// factors[1] = yeda
// factors[2] = friends
private static double[] wes = new double[3];
private static double[] factors = new double[3];
private static double[][] pattern =
{
{
0,1,1,1
},
{
0,0,1,1
},
{
1,0,0,0
},
{
1,0,1,0
},
{
0,0,0,0
}
};
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
factors[0] = 1;
factors[1] = 0;
factors[2] = 1;
wes[0] = 0.2;
wes[1] = 0.3;
wes[2] = 0.5;
summirowaniya();
}
public static void summirowaniya(){
double result = factors[0]*wes[0]+factors[1]*wes[1]+factors[2]*wes[2];
for(int i = 0; i < pattern.length; i++){
if(factors[0] == pattern[i][0] && factors[1] == pattern[i][1] && factors[2] == pattern[i][2]){
double patSum = pattern[i][0] + pattern[i][1] + pattern[i][2];
System.out.println(patSum/2);
System.out.println(result);
if(activationFunct(patSum/2+result) != pattern[i][3]){
System.out.println(activationFunct(patSum/2-result));
}
else{
System.out.println(pattern[i][0]);
}
}
}
}
public static int activationFunct(double d){
return d >= 0.5 ? 1 : 0;
}
}
как видете получились какие-то записи кодера с уклоннастеми на сада-маза. Не думаю что для опытного программиста будет сложно решить задачу выше так что если не сложно уделите минуту и помогите разобраться с этим всем
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть проблема, я хочу скачать jdk, но у меня 32 битная версия ОСГде можно скачать эту версию jdk или на oracle просто не нашел? Слышал что можно как...
Как передать данные из фрагмента в активити для удаления элемента ListView? номер элемента мне известен (был получен во фрагменте через Bundle)Метод...
Можно ли создать объект, если конструктор имеет модификатор private? Если да, то зачем собственно конструктору нужен модификатор доступа, помогите...