Это было одно из тех тихих воскресных утра, когда я был поглощен чтением новостей об Илоне Маске, предсказывающем, что машины захватят Землю, когда моя 11-летняя дочь, которая до этого разговаривала с Сири, повернулась ко мне и спросила: «Папа, что такое машинное обучение? ». Я попытался привести ей пример: «Когда вы были маленькими, вы начинали с рисования случайных линий и кривых на бумаге, а учитель научил вас составлять алфавиты с некоторыми из этих линий и кривых. Или как мы показали вам кошку и собаку, и, увидев их много раз, вы научились узнавать их самостоятельно. Обучение машин чему-то похожему называется машинным обучением ».

Будучи любознательным ребенком, я мог видеть по ее лицу, что она не была убеждена и искала некоторые конкретные детали. «Но как научить компьютер учиться?» был ее следующий вопрос. «Мне пришлось писать свои азбуки сотни раз, прежде чем я их выучил. Разве так же учатся машины? », - спросила она.

«Хм… интересный вопрос», - подумал я. «Дайте мне время подумать над этим», - попросил я своего шестиклассницу, которая снова начала спорить с Сири о том, что она не понимает ее простых команд. Я взял блокнот и начал писать, как я смогу объяснить ей машинное обучение на языке, который она понимает.

Вот мои заметки:

Если вам нужно разбираться в машинном обучении, сначала вам нужно понять линейную алгебру. Ничего слишком сложного, мы можем начать с основных вещей. В 6-м классе вам обычно дают два уравнения и просят решить относительно x и y.

y = 3x — 4

y = 2x — 1

Один из способов визуализировать эти уравнения - представить каждое из этих уравнений как прямые линии на графике. Для любой линии вида y = mx + c, m обозначает наклон линии, а c - точку пересечения, где линия пересекает ось y. Итак, в первом уравнении 3 - это наклон (m), а -4 - точка пересечения (c). Значения m и c для второго уравнения - 2 и -1.

Если вы подставите разные значения для x и y в приведенные выше уравнения, на графике появятся две прямые линии. Точка пересечения этих двух линий - это значения x и y, которые решают систему уравнений.

В машинном обучении проблема обратная - машине будут даны разные значения x и y, она должна определить значения наклона (m) и точки пересечения (c). Вы начинаете с того, что называется «обучающим набором» значений x и y, который помогает машине учиться.

Начнем с двух моментов, которые вы дадите обучающейся машине. Машина проведет линию, соединяющую эти две точки. После того, как линия нарисована, угол наклона (m) можно рассчитать, взяв любые две точки на линии и найдя разницу в значениях y и x между этими точками (∆ y / ∆ x). Пересечение (c) - это точка, в которой линия пересекает ось y.

Когда машине будет присвоено больше «тренировочных» очков, она попытается нарисовать линию, в которой все точки находятся на одной линии. Если он не может провести прямую линию, он выполнит аппроксимацию, чтобы покрыть большинство точек. Как только он проведет линию, он снова вычислит значения m и c. Машина также игнорирует некоторые точки, которые выходят за рамки общей совокупности точек. Линия, созданная с обучающими данными, называется «моделью». Теперь, с этой «моделью», машина готова предсказывать ваши ответы. Если вы дадите ему новое значение x, он отобразит его на линии, получит соответствующее значение y и покажет вам результат.

Такой подход к обучению машины с использованием некоторых обучающих данных называется контролируемым обучением, а используемая им «модель» называется моделью линейной регрессии. Типа вопросов, которые вы можете задать машине с такой моделью, - это «Сколько?» или «Сколько?».

Вот пример того, как это можно использовать. Предположим, ваш учитель дает вам задачу спрогнозировать вес нового ученика, который собирается присоединиться к вашему классу в следующем году, и единственная информация, которая у вас есть, - это рост этого нового ученика. Вы можете начать с получения значений роста и веса всех текущих учеников в вашем классе и преобразования их в значения x и y (рост по оси x и вес по оси y). Это данные вашей тренировки. Вы строите график со всеми этими значениями и создаете обученную модель. Как только вы это сделаете, вы подставляете рост нового ученика (значение x) в этот график и выясняете вес (значение y), лежащий на этой модели. Хотя это приблизительное значение, это значение можно сделать более точным, обучая машину все большему и большему количеству данных (вы используете рост и вес всех учеников 6-го класса во всех школах).

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

Другой метод обучения с учителем называется Классификация. В этом методе обучающие данные предоставляются в виде точки (x и y) и другого значения (обычно «да» или «нет»).

В этом примере для всех синих точек было помечено значение «да», а для красных точек было помечено значение «нет». Устройство рассчитывает модель (синяя пунктирная линия) на основе предоставленных данных.

Когда машине передается новая точка данных (x и y), она может определить, находится ли точка в области синей пунктирной линии или за ее пределами. Если точка попадает в область, возвращается «да», иначе - «нет». Эта модель обычно используется, когда машина принимает решения типа «да» или «нет».

Простой пример того, где использовать классификационную модель контролируемого обучения - вас просят определить, будет ли сегодня дождь или нет. У вас есть ежедневные данные о температуре и влажности за последний год, а также о том, шел ли в этот день дождь или нет. Вы будете использовать эти годовые данные в качестве обучающей выборки и построить график температуры и влажности по осям x и y. Затем вы попытаетесь сгруппировать все эти общие точки в зависимости от того, идет ли дождь или нет. Получив модель, вы можете измерить сегодняшнюю температуру и влажность и проверить, находятся ли они в области, заштрихованной синим цветом, на графике или нет.

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

«О, - сказала моя дочь, - вот почему Siri иногда не может понять, что я говорю, потому что она не строит графики правильно».

«Ты понял», - сказал я с торжествующей улыбкой на моем лице, когда я был в состоянии объяснить некоторые сложные понятия шестикласснику. Но это длилось недолго. «Что же тогда такое искусственный интеллект?» был ее следующий вопрос. Мне, наверное, нужно купить себе еще неделю, чтобы подумать, как ей это объяснить!