Diana Alisova, Blog Author

12 September 2019

Machine learning, or the best party in town

Machine learning forces computers to do what people do - learn from their own experience. You can calculate for how much to sell a car, or how much you need tequila for "margarita" for five friends. But sometimes you have to calculate more complex tasks and take into account hundreds of factors, and people are too lazy, but do not keep everything in mind.

Машинное обучение заставляет компьютеры делать то, что делают люди – учиться на собственном опыте. Ты сам посчитаешь, почем продать автомобиль, или сколько нужно текилы для "маргариты" на пятерых друзей. Но иногда нужно вычислять более сложные задачи и учитывать сотни факторов, а люди слишком ленивы, и не все держат в голове.

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

Медиа-сайты используют машинное обучение, чтобы рекомендовать конкретную песню или фильм. Ритейлеры – чтобы отслеживать наше с тобой покупательское поведение. Еще его используют в приложениях распознавания голоса, для узнавания лиц, трейдинге, и даже в медицине, например – для обнаружения опухолей. Одним словом – почти везде.

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

"Обучай меня", – сказал компьютер

Чтобы обучить машину, нужно три простые (или не простые) вещи:

Данные (Data). Здесь работает правило: "Чем больше, тем лучше". Конечно, лучше для машины, а не для тебя. Можно забыть учесть чью-то аллергию на морепродукты или нелюбовь к просекко.

Машине проще выдавать верный результат, когда у нее много точных данных. Хотим понимать интересы пользователя – нужны его лайки и посты (привет, соцсети и контекстная реклама). Хотим определять спам – нужны примеры спам-писем. Хотим выбрать универсальное меню для вечеринки – нужно учесть вкусовые предпочтения и запреты всех гостей.

Данные собирают вручную, или автоматически. Самые умные компании используют для этого нас с тобой. ReCaptcha, когда тебя просят выбрать пальмы на картинке и убедиться, что ты не робот – это оно.

Еще нужны признаки (Features). Это описания данных, в зависимости от цели – пробег автомобиля, пол пользователя, его диета или любимый музыкальный жанр. Машина должна знать, на что конкретно ей смотреть. Круто, когда данные – это таблица, названия колонок и есть признаки (фичи).

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

Важно понимать одно – если данных мало, или они не точные, не поможет даже лучший алгоритм. Собирай больше данных.

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

Виды машинного обучения

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

Классическое обучение бывает с учителем (Supervised Learning), и без (Unsupervised Learning).

Разберемся, кто такой учитель. Метод с ним подразумевает, что у машины есть учитель, который говорит ей как правильно. И что данные заранее разбиты на категории. Ты показываешь машине фото Валеры (все таки не забываешь о нем, молодец) и указываешь, что это парень. И фото Алены с пометкой, что она девушка.

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

С учителем проще и точнее

Задачи с учителем делятся на два типа: классификация — разделит все музыкальные пожелания гостей по жанру и ты составишь оптимальный плейлист (предсказание категории объекта), и регрессия — подскажет, когда лучше начать вечеринку чтобы все доехали без пробок (предсказание места на числовой прямой).

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

Cюда входят такие алгоритмы: Наивный байесовский классификатор, Деревья Решений, Логистическая Регрессия, K-ближайших соседей, Метод Опорных Векторов.

Регрессия работает почти так же, как классификация, только с числами вместо категории. Она хорошо справляется с задачами, где есть зависимость от времени: анализ спроса и продаж, пробки на дороге в разное время суток. Если совсем просто – рисует линию вдоль точек, которая в среднем отражает зависимость.

Машинное обучение, искусственный интеллект и восстание роботов

Когда машина уже знает, как правильно, автоматически появляется и обратная сторона – как неправильно. Если какой-то признак (фича) не вписывается в модель – ты тоже можешь это отследить. Например, в медицине на МРТ.

Чем проще данные (цифры, таблицы, буквы), тем проще алгоритмы. Изображения и лица – уже более сложная задача, тут помогут нейросети, собственно для чего их и придумали.

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

Машины умеют многое, но не все. Так что восстания не будет. А если это и произойдет, то устрой прощальную вечеринку и не забудь пригласить Валеру.

More articles