@ork821

Может ли искусственный интеллект спрогнозировать число?

Всем привет. Стало интересно написать самому алгоритм по "предугадыванию" чисел.
Например: даю массивы уравнения y=2*x. x= [1,2,3] y = [2,4,6]
Написал алгоритм с обратным распространением ошибки. Но на выходе могу получить только от 0 до 1 (сигмоида).

Что можно сделать, чтобы на выходе получать числа больше/меньше чем 0/1?
Или такой алгоритм делается с помощью перевода числа в 0 и 1, и там уже по обычному алгоритму?
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 2
DanilBaibak
@DanilBaibak
Machine Learning engineer
На сколько я понял, вы пытаетесь решить задачу регрессии. Для этого нужно сделать output последнего слоя равным 1 и установить линейную функцию активацию. Пример (использую Keras):

model.add(Dense(1, activation='linear'))

compile(loss='mean_absolute_error', optimizer='adam', metrics=['mean_absolute_error'])
Ответ написан
Комментировать
@AlexSku
не буду отвечать из-за модератора
1) нейронные сети
а) как вы и написали - нормализация входов-выходов. Т.е. и максимальные разбросы и входов и выходов приводите к диапазону 0..1
б) (можно совместить с п. а)) Первый слой (несколько нейронов) с сигмоидами, выходной слой - один нейрон с линейной функцией. Таким образом, можно сделать аппроксиматор любой фунции. Только для нейронной сети надо бы побольше примеров для обучения (несколько тысяч точек).

2) Любой аппроксиматор (без нейронных сетей). Но нормально будет работать только интерполятор, а экстраполятор может выдавать жуткие ошибки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы