Продолжаем вторую часть урока по распознаванию рукописного текста . В прошлом уроке (01) мы кратко ознакомились с основными библиотеками и содержимым базы MNIST , текущая тема так же будет краткой , но очень важной , так как позволит нам уже на начальном этапе понять как мы собираем нашу сеть , и готовим данные для нее, этот процесс будет сопровождать нас все время , во всех структурах сетей.
Onehotencoding
в этой статье поговорим о One hot ecoding — преобразование натурального числа в список (массив из 10 натуральных чисел 0 — 9 ) выгляди так : 0-[1,0,0,0,0,0,0,0,0,0] 1-[0,1,0,0,0,0,0,0,0,0] 2-[0,0,1,0,0,0,0,0,0,0] думаю логика разложения на список ясна, существуют инструменты позволяющие раскладывать число на список из 10-и автоматически. Они встроены в библиотеку Keras , рассмотрим их позже.
в таком виде наша нейросеть будет лучше понимать что ей скормили , в данном случаи мы преобразовали Y_test и Y_train , то есть верные ответы из загруженной базы Mnist , верные ответы соответствующие картинкам закрепленных за ними ( X_test , X_train) .
Индекс верного ответа соответствует индексу картинки, X_train[13] картинка будет равна правильному ответу в Y_train[13] (изображенное на картинке равно тому что в игриках). В Y_train[13] содержится число ‘6’ , после преобразования в OneHotEncoding оно станет понятным для нейросети , и примет форму — [0,0,0,0,0,0,6,0,0,0]. Визуализацию этого процесса вы можете наблюдать в нашем первом посте о MNIST