ElkinStas / multylayer_perceptron_42

создание перцептрона с 2 скрытыми слоями с функцией softmax и бинарной кросс-энтропией как мерой ошибки

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

multylayer_perceptron_42

Проект школы 21: создание перцептрона с 2 скрытыми слоями с функцией softmax и бинарной кросс-энтропией как мерой ошибки (без использования готовых реализаций)

основные задачи

Написать 4 слойный перцептрон для предсказания типа болезни по данным:

  1. предобработать датасет - все метрики там без заглавий
  2. нужно выбрать метрики, по которым обучать (и их нормировать - использовал нормировку минимакс)
  3. написать программу для обучения перцептрона: выводит метрики, график валидационной и тренировочной ошибки. В конце обучения выписывает их
  4. Написать программу, которая использует полученные на предыдущем шаге веса и предсказывает на датасете вероятность.

реализация

написано несколько программ:

  1. для предобработки данных - выставляет заголовки к сырому датасету (вспомогательная функция)
  2. для визуализации данных - визуализирует метрики по 2 классам, помогает в выборе фичей для обучения
  3. Перцептрон: по факту это сеть, которая имеет на вход 7 нейронов, 2 скрытых слоя и 2 нейрона на выходном слое. Функции активации - гиперболический тангенс, на выходном слое - софтмакс. Программа для тренировки нарочито написана таким образом - получается нагляднее описать суть прямого прохода, обратного прохода, вычисления производных и весов. В предсказателе уже использован класс. Из особенностей - в обучении реализован дропаут для борьбы с переобучением

About

создание перцептрона с 2 скрытыми слоями с функцией softmax и бинарной кросс-энтропией как мерой ошибки


Languages

Language:Python 100.0%