Хочешь заниматься SEO в 2015, должен иметь понятие о машинном обучении.
При машинном обучении алгоритмы могут сами рассказать кое-что интересное о предоставленных данных, и не придется писать для этого отдельный код. Вместо написания кода скармливаем данные исходному алгоритму, и он сам выстраивает логику на основании этих данных.
Возьмем, к примеру, алгоритм классификации. Он может разбивать данные на различные группы. Такой же алгоритм классификации, который используется для распознавания рукописных символов, а может быть полезен для разделения электронных сообщений по группам «спам» и «не спам», и для этого не нужно менять ни строчки кода. И тех, и других я знал еще в прошлом веке. Плюс те, кто распознавал голос и распознавал лица. А что поиск? Он начал использовать машинное обучение уже в веке нынешнем. Но сначала расшифруем статью "машинное обучение" в Википедии (вполне неплохую).
В широком смысле все алгоритмы машинного обучения можно разбить на две большие группы: алгоритмы обучения с учителем и алгоритмы обучения без учителя.
Обучение с учителем
Представьте, что вы агент по недвижимости. Ваш бизнес растёт, и вы нанимаете себе в подмогу новых агентов-стажеров. Но вот беда: вы-то можете с одного взгляда определить стоимость недвижимости, а вашим стажёрам опыта не хватает.
Чтобы помочь стажёрам и обеспечить себе хоть немного отдыха, вы решаете написать небольшое приложение, которое оценивает стоимость квартиры в вашем городе на основе её площади, расположения и стоимости подобных проданных квартир. В течение трёх месяцев вы записываете все подробности каждой выполненной сделки: количество комнат, площадь, район, цену продажи.
Используя эти данные, мы можем создать программу, которая спрогнозирует стоимость любой квартиры в вашем городе.
Это и называется обучением с учителем. Вы уже знаете, сколько стоила каждая проданная квартира; другими словами, вы знаете решение проблемы и вам остаётся только выстроить логику.
При создании приложения вы заносите полученные данные о каждой квартире в алгоритм машинного обучения. Задача алгоритма - выяснить, какое математическое действие нужно произвести над этими данными.
Для того, чтобы восстановить логику приведённых выше вычислений, вам нужно произвести определённые действия в левой части уравнения, чтобы получить результат в правой части уравнения.
В алгоритме обучения с учителем это за вас делает компьютер. Если вы знаете, какие действия необходимы, чтобы решить конкретную задачу, алгоритм может решить все задачи такого типа.
Обучение без учителя
Вы снова тот самый предприимчивый агент по недвижимости. Что делать, если вы не знаете цену продажи каждой квартиры? Хорошие новости: даже если вы знаете только площадь, количество комнат и расположение квартиры, вы уже можете совершить крутой анализ. Это называется алгоритмом обучения без учителя.
Даже если вы не пытаетесь предсказать значение неизвестной переменной (например, цены), алгоритмы машинного обучения всё равно способны на кое-что интересное
Представьте, что вам дают список чисел и говорят: «Понятия не имею, что эти числа означают, но если у тебя получится найти в них закономерность - ты молодец». Нахождением этих закономерностей и занимается алгоритм обучения без учителя.
Итак, что можно сделать с теми данными, что у вас есть? Для начала можно создать алгоритм, который автоматически будет определять различные рыночные сегменты в ваших данных. Может быть, вы обнаружите, что покупатели квартир рядом с местным институтом предпочитают небольшие квартиры с большим количеством комнат, а покупатели загородных домов выбирают большую площадь. В дальнейшем продвижении ваших услуг знание о возможных предпочтениях клиентов сослужит вам неплохую службу.
Что ещё? Алгоритм может автоматически определить отдельные дома, которые не вписываются ни в одну из категорий. Может быть, эти дома окажутся шикарными особняками, и на них можно сконцентрировать продажи, чтобы получить большие комиссионные.
В нашем руководстве мы уделим внимание алгоритмам обучения с учителем. Вовсе не потому, что алгоритмы обучения без учителя менее интересны или полезны. На самом деле даже наоборот - обучение без учителя становится всё более важным для изучения, поскольку такие алгоритмы могут использоваться без привязки данных к правильному ответу.
Неужели возможность спрогнозировать цену квартиры уже может считаться машинным обучением?
Человеческий мозг способен анализировать любую ситуацию и обучаться без каких-либо внешних указаний. Если вы, к примеру, долгое время занимаетесь продажей недвижимости, у вас разовьётся некое инстинктивное чувство на правильную цену для конкретной квартиры; нюх на клиентов и на выгодные сделки. Целью «сильного искусственного интеллекта» является как раз воссоздание такой способности человеческого мозга вычислительными мощностями компьютера.
К сожалению, текущая стадия развития обучающихся алгоритмов не настолько хороша - они работают только в узко ограниченных рамках одной проблемы. Наверное, в этом смысле термин «обучение» скорее означает «способность решить уравнение на основе предоставляемых данных».
Поскольку «способность решить уравнение на основе предоставляемых данных» - слишком громоздкий термин, всё это решили назвать «машинным обучением».
В поисковых технологиях машинное обучение применяется с начала 2000-х годов. Разные поисковые системы используют разные модели. Одна из проблем, которые возникают при машинном обучении - переобучение. Переобучившаяся машина похожа на студента, который перезанимался - например, прочитал очень много книжек перед экзаменом по психологии. Он мало общается с живыми людьми и пытается объяснить простые поступки слишком сложными моделями поведения: соционикой, психологией, астрологией... И из-за этого поступки людей для него неожиданны.
Как это выглядит: когда компьютер оперирует большим количеством факторов (в нашем случае это - признаки страниц и запросов), а размер обучающей выборки (оценок асессоров) не очень велик, компьютер начинает искать и находить несуществующие закономерности. Например, среди всех оцененных страниц могут оказаться две с какой-то сложной комбинацией факторов, например, с размером 2 кб, фоном фиолетового цвета и текстом, который начинается на букву «я». И обе эти страницы окажутся релевантными запросу [яблоко]. Компьютер начнет считать эту случайную комбинацию факторов важным признаком релевантности запросу [яблоко]. При этом все важные документы про яблоки, которые такой комбинацией факторов не обладают, покажутся ему менее релевантными.
Для построения формулы ранжирования Яндекс использует собственный метод машинного обучения - Матрикснет. Он устойчив к переобучению.