Основы машинного обучения простым языком

Перевод заметки аналитика фармацевтической компании Pfizer Кайла Галлатина.

В диалоге об искусственном интеллекте трудно найти середину: СМИ пишут о сенсациях, даже когда разработка не заслуживает внимания, а научная литература порой сбивает с толку своим языком самых мотивированных исследователей. На деле всё гораздо проще. Чтобы в общих чертах понять принцип работы ИИ, рядовому пользователю нужно вспомнить школьный курс математики.

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

Больше всего мне нравится такое объяснение: машинное обучение есть функция y = mx + b. Мы можем показать компьютеру входные (x) и выходные (y) данные, а он вычислит, как они связаны.

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

Итак, нам известны x и y, формула тоже дана, осталось отыскать значения m и b.

Взглянем на таблицу ниже. Чтобы получить y из x, умножим x на единицу (значение m) и прибавим единицу (значение b). Таким образом, функция принимает вид y = 1x + 1. Располагая значением x, мы сможем определить значение y для всех четырёх примеров.

Теперь нарисуем график:

Основы машинного обучения простым языком

Самый замысловатый этап — научить компьютер определению наиболее подходящей функции для описания данных.

Человеку не по силам математика, которая по силам компьютеру

Стоит помнить: чтобы отыскать качественное отношение, требуется достаточное количество информации, в противном случае оно будет слишком неточным. Если для x и y дана лишь одна точка, верная функция будет иметь единственный вид. Но в нашем примере, когда x = 1, а y = 2, функция может принимать вид y = 2x, y = x + 1, y = ([x+1]*5 – 9)⁵ + 1 и так далее.

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

Пример того, как алгоритм учится определять наиболее точную функцию

Towards Data Science

Функция y = 1x + 1 проста. Но что, если на входе не одна переменная? Что, если на y влияют x¹, x²,…x¹⁰⁰? Человек не может разом охватить миллионы точек данных и вывести функцию, описывающую результат. Эту задачу мы перекладываем на компьютеры.

На практике

Я работаю в фармацевтике, поэтому давайте представим, что у нас есть база данных, в которой две переменные на входе — радиус и периметр опухоли — и два возможных вывода, качества опухоли: доброкачественная или злокачественная. Подставим значения в формулу, где:

  • y — диагноз; если y = 0, опухоль доброкачественная, если y = 1 — злокачественная;
  • x1 — радиус;
  • x2 — периметр;
  • у каждого x есть неизвестный множитель m, назовём его «нечто»;
  • b — неизвестная константа.

Как теперь выглядит наше линейное уравнение: диагноз = (нечто1*радиус) + (нечто2*периметр) + b. Похоже на формулу y = mx + b, не так ли?

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

2222
22 комментария

Перевод очень сильно искажает и сокращает оригинальную статью, полностью меняя её ключевой посыл.

Автор оригинала говорит лишь о том, что A.I. в современном виде это чистая математика, находящая корреляцию в обучающем наборе данных между входом и выходом. Т.е. просто сложный алгоритм, не являющийся мышлением в человеческом понимании. И в своём ПРЕДЕЛЬНОМ, максимально упрощённом виде это можно представить как поиск коэффициента и свободного члена линейной функции. И действительно, линейная модель (линейная регрессия) — это самая простая модель, применяемая в машинном обучении.

При этом указывается на неоспоримое преимущество машины — она может за короткое время обработать миллионы образцов и рассчитать модель, наилучшим образом описывающую полученные данные. Причём исходных признаков (иксов) может быть не один и не два, а сотни и даже миллионы. Это, действительно, человеку без использования машины не по силам.

14
Ответить

И в своём ПРЕДЕЛЬНОМ, максимально упрощённом виде это можно представить как поиск коэффициента и свободного члена линейной функции.Ок, а я правильно понимаю, что, максимальное упрощение заключается в слове "функция"? Т. е. AI определяет нефункциональную зависимость неких исходящих данных от входящих?

1
Ответить

http://www.bbc.co.uk/news/science-environment-47267081 ещё недавно статья вышла на BBC, суть которой сволилась к тому что алгоритмы Маш. обучения сейчас подвергаются сомнениям из-за того что как раз любые обучающие выборки бесконечно малы по сравнению с реальным миром. Что часто приводит к неверным выводам

1
Ответить

А в чем концептуальная разница между машинным обучением и нейросетями? нейросеть - это частный случай?

Ответить

И вообще, было бы круто, если бы кто-нибудь смог ответить на несколько моих вопросов по ML.

Ответить

Если говорить формально — то да, нейросети и глубокое обучение (Deep Learning) это частные случаи машинного обучения. Но на практике DL выделяют в отдельную область, т.к. она из классических подходов заимствует только основную идею способного к обучению алгоритма. Остальное — целая отдельностоящая область со своими проблемами и подходами к их решению.

Ответить

А как же интуиция? То необъяснимое чувство правильности выбранного решения.

Ответить