Видно, что модель неидеальна, так как неверно предсказала рысь. Зато манула она определила верно, несмотря на то, что он больше походит на домашнюю кошку, чем рысь. На самом деле 100%-я точность для нейросетей невозможна, поэтому полученный результат можно считать неплохим. На практике использование MS Excel для задач машинного обучения — не очень хорошая идея, так как он не может работать с большим объемом данных, да и создан совершенно для другого. Однако, используя методы, представленные в посте, можно самостоятельно «поиграть» с данными, что поможет понять базовые принципы работы нейросетей.
Недавно довольно поверхностно узнал, как работают нейросети, сразу подумал об экселе, ведь в нём можно делать слои из строк/столбцов, присваивать веса ячейкам и вычислять значения. Отогнал эту мысль, а сейчас опять вспомнил, уже всерьёз. Очень оказываешься рад, когда узнаёшь, что не один такой чокнутый.
Сделал своё подобие сего шедевра, тоже сразу одни единички на выход выдал, после первой итерации ничего не поменялось, после второй 1 неправильный ответ, после 5-ой и т.д. сразу стал угадывать!
P.S. в ячейку W3 можно было написать СУМПРОИЗВ, а в AJ3 — ОКРУГЛ, так вроде проще.
Отлично! И спасибо за уточнение 💪🏻
Здравствуйте. как можно скачать эту работу?
Здравствуйте, пришлите в личные сообщения адрес почты, пришлем вам xlsx
Добрый день! Я сама учитель математики и классный руководитель. Сейчас стоит задача наиболее доступным способом показать детям логику нейронных сетей, так как это проект школьный. Наткнулась на вашу статью. Я разобралась, что веса умножаются на признаки, а потом нормализуются, но Вы не могли бы разъяснить суть формулы и ее логику вставки в таблицу корректировки весов =($K3-$X3)*B3*$X3*(1-$X3) в таблице корректировки весов. Спасибо.
Здравствуйте!
Формула определяет величину смещения для веса Bn в зависимости от результата вывода модели в текущей итерации.
Если простым языком, то на сколько нужно изменить вес признака в зависимости от ответа модели.
Сама формула в ячейке – это корректировка веса с помощью градиента сигмоиды = ошибка * значение_признака * предсказание_модели * (1 – предсказание_модели),
где ошибка = реальное_значение (кошка/не кошка) минус предсказание модели ($K3-$X3)
значение признака – это B3
предсказание_модели * (1 минус предсказание_модели) - это градиент функции:
предсказание_модели – это $X3
Градиент функции показывает как быстро функция меняется в разных направлениях.