Нейронный сети. Эволюция. Каниа Алексеевич Кан

Читать онлайн.



Скачать книгу

которая многое из наших вакантных обязанностей, брала на себя. Сама с большой точностью, классифицировала загружаемые в неё данные.

      Всё это кажется фантастикой, но всё же реализуемо.

      Логичней всего в первую очередь подумать, как это сделать с точки зрения математики. Ведь используя строгую математическую логику, мы поймём, как нам действовать, и добьёмся точных данных на выходе программы.

      Ну как в любом начинании, нужно начать с самого простого.

      Когда то, в младших классах, на уроке математики мы проходили линейную функцию:

      y = Ax + b

      Что если сделать так, что на числовых координатах, все данные которые будут находится выше линейной функции, будут принадлежать к одному классу, а ниже к другому. То есть функция прямой будет служить нам как классификатор.

      Давайте покажем вышесказанное на слайде:

      Отлично! Теперь осталось вспомнить что представляет из себя линейная функция.

      Линейная классификация

      Вспоминая школьный курс математики, из которого нам должно быть известно, что коэффициент А, в уравнении прямой, отвечает за её наклон. Чем больше значение коэффициента А, тем больше крутизна наклона линии. А коэффициент b – отвечает за точку начала координат по оси Y, через которую проходит прямая.

      Раз мы еще толком не знаем, как будем действовать, давайте максимально всё упрощать. Будем считать, что прямая проходит через начало координат и соответственно параметр прямой b, обратим в ноль: b = 0. Тогда окончательное выражение нашей разделительной линии, станет еще более простым:

      y = Ax

      Пусть нашим заданием будет – классифицировать два вида животных, определенной возрастной группы, в два дня от роду, по размеру их тела – высоте и длине.

      Для начала, подберем всего две выборки, которые разительно отличаются друг от друга:

      Примем за х – значение длины, а за y – значения высоты. Визуализируем эти данные на числовой прямой:

      Нужно придумать как разделить эти два вида линейной функцией. Попробуем мыслить последовательно.

      Для начала, попробуем разделить наши данные случайной разделительной линией. Для этого примем значение коэффициента крутизны любым случайным числом, пусть А = 0,4. Тогда наше уравнение разделительной линии примет вид – y = 0,4x.

      Как следует из графика, линия – y = 0,4x, не отделяет один вид от другого. Для выполнения условия, её необходимо поднять выше. Для этого нам потребуется выработать последовательность команд и математические правила. Говоря иными словами, проработать алгоритм, когда при подаче данных из нашей таблицы (длины и ширины видов животных), в конечном итоге разделительная линия будет четко разделять эти два вида.

      Теперь давайте протестируем нашу функцию на первом тренировочном