2016-11-06 22 views
0

Я изучаю компьютерное обучение, и я работаю над своей первой нейронной сетью как проект для одного из моих классов. Я программирую сеть в java. Точкой сети является идентификация семисегментной цифры (например, на обычных цифровых часах). Сеть фактически не должна быть привязана к каким-либо реальным датчикам, она просто должна работать теоретически на основе входных данных как 0 и 1 в текстовой форме, а не бинарной, что соответствует гипотетической матрице датчика, расположенной поверх верхней части номера.Нейронная сеть для идентификации семисегментных чисел

Мой вопрос: какой вид я хочу получить?

  1. Будет ли бинарный выход соответствовать только той же матрице, что и вход, или является двоичным выходом, предназначенным для представления входного числа в двоичном формате, например возвратом 111 для 7?
  2. Если он возвращает другую матрицу, какая точка сети?

ответ

0

Вход для семисегментной цифры будет представлять собой (1 X 7) вектор, с 1 для сегментов, которые включены, и 0 для отключенных сегментов.

Что касается вывода, вы не укажете, что вы хотите, так что давайте предположим, что вы хотите, чтобы он сказал вам, «какая цифра - это экран». Поскольку есть 10 цифр (от 0 до 9), у вас есть 10 возможных ответов. Выходом будет вектор (1 X 10), каждый номер которого соответствует одной из цифр. Его значение отражает уверенность сети в том, что это правильный ответ (обычно выходные значения лежат в [0, 1], но это зависит от вашей настройки). В идеале вы хотели бы, чтобы сеть вернула вектор, имеющий 1 на один атрибут и нули во всех остальных.

Обратите внимание, что в этом случае классификатор не является полезным. Алгоритм классификации обобщает то, что он видел в прошлом. Таким образом, это было бы полезно для рукописного распознавания, потому что, даже если один и тот же человек дважды записывает одну и ту же цифру, это не совсем то же самое. В вашем случае каждая цифра одинакова для всех 7-сегментных дисплеев, поэтому ваша сеть не точно учится, а запоминает ввод.

+0

Хорошо, я подозревал, что это было так и для выходных представляющих 1 Я ищу что-то вроде этого: m-> п 001 | 001 V 001 Так что, если мой вход поступает в эту же форму, в чем преимущество нейронной сети, если оно просто возвращает входы в качестве выходов? Я понимаю, что то, что я делаю, является чрезвычайно упрощенной версией сети, это, конечно, только в образовательных целях. Не все ли признание, сделанное сенсором, и, возможно, просто обработка? – user7120843