Apache Mahout — это масштабируемая библиотека машинного обучения, которая позволяет разработчикам использовать оптимизированные алгоритмы. Mahout реализует популярные методы машинного обучения, такие как рекомендации, классификация и кластеризация. Поэтому целесообразно иметь краткий раздел, посвященный машинному обучению, прежде чем мы пойдем дальше.
Что такое машинное обучение?
Машинное обучение — это отрасль науки, которая занимается программированием систем таким образом, что они автоматически учатся и совершенствуются с опытом. Здесь обучение означает распознавание и понимание входных данных и принятие мудрых решений на основе предоставленных данных.
Очень трудно удовлетворить все решения, основанные на всех возможных входах. Для решения этой проблемы разработаны алгоритмы. Эти алгоритмы строят знания из конкретных данных и прошлого опыта с принципами статистики, теории вероятностей, логики, комбинаторной оптимизации, поиска, обучения с подкреплением и теории управления.
Разработанные алгоритмы составляют основу различных приложений, таких как:
- Обработка зрения
- Обработка языка
- Прогнозирование (например, тенденции фондового рынка)
- Распознавание образов
- Игры
- Сбор данных
- Экспертные системы
- робототехника
Машинное обучение является обширной областью, и оно выходит за рамки этого учебного пособия, чтобы охватить все его функции. Существует несколько способов реализации методов машинного обучения, однако наиболее распространенными из них являются контролируемое и неконтролируемое обучение .
Контролируемое обучение
Контролируемое обучение касается изучения функции на основе доступных данных обучения. Контролируемый алгоритм обучения анализирует данные обучения и выдает предполагаемую функцию, которую можно использовать для отображения новых примеров. Типичные примеры контролируемого обучения включают в себя:
- классифицировать электронные письма как спам,
- маркировка веб-страниц в зависимости от их содержания и
- распознавание голоса.
Существует множество контролируемых алгоритмов обучения, таких как нейронные сети, машины опорных векторов (SVM) и наивные байесовские классификаторы. Махоут реализует наивный байесовский классификатор.
Обучение без учителя
Неподготовленное обучение имеет смысл немаркированных данных, не имея предварительно определенного набора данных для его обучения. Неподготовленное обучение — чрезвычайно мощный инструмент для анализа доступных данных и поиска закономерностей и тенденций. Он чаще всего используется для кластеризации аналогичных входных данных в логические группы. Общие подходы к обучению без учителя включают в себя:
- K-средства
- самоорганизующиеся карты и
- иерархическая кластеризация
Рекомендация
Рекомендация — это популярный метод, который предоставляет подробные рекомендации, основанные на информации пользователя, такой как предыдущие покупки, клики и оценки.
-
Amazon использует эту технику для отображения списка рекомендуемых элементов, которые могут вас заинтересовать, и извлечения информации из ваших прошлых действий. За Amazon работают механизмы рекомендации, позволяющие фиксировать поведение пользователей и рекомендовать выбранные элементы на основе ваших предыдущих действий.
-
Facebook использует метод рекомендации, чтобы идентифицировать и рекомендовать «список людей, которых вы, возможно, знаете».
Amazon использует эту технику для отображения списка рекомендуемых элементов, которые могут вас заинтересовать, и извлечения информации из ваших прошлых действий. За Amazon работают механизмы рекомендации, позволяющие фиксировать поведение пользователей и рекомендовать выбранные элементы на основе ваших предыдущих действий.
Facebook использует метод рекомендации, чтобы идентифицировать и рекомендовать «список людей, которых вы, возможно, знаете».
классификация
Классификация, также известная как категоризация , представляет собой метод машинного обучения, который использует известные данные для определения того, как новые данные должны быть классифицированы в набор существующих категорий. Классификация является формой контролируемого обучения.
-
Поставщики почтовых услуг, такие как Yahoo! и Gmail использует эту технику, чтобы решить, следует ли классифицировать новое письмо как спам. Алгоритм категоризации обучается, анализируя привычки пользователей помечать определенные письма как спам. Исходя из этого, классификатор решает, следует ли отправлять будущие письма в папку «Входящие» или в папку «Спам».
-
Приложение iTunes использует классификацию для подготовки плейлистов.
Поставщики почтовых услуг, такие как Yahoo! и Gmail использует эту технику, чтобы решить, следует ли классифицировать новое письмо как спам. Алгоритм категоризации обучается, анализируя привычки пользователей помечать определенные письма как спам. Исходя из этого, классификатор решает, следует ли отправлять будущие письма в папку «Входящие» или в папку «Спам».
Приложение iTunes использует классификацию для подготовки плейлистов.
Кластеризация
Кластеризация используется для формирования групп или кластеров похожих данных на основе общих характеристик. Кластеризация — это форма обучения без учителя.
-
Поисковые системы, такие как Google и Yahoo! использовать методы кластеризации для группировки данных с похожими характеристиками.
-
Группы новостей используют методы кластеризации для группировки различных статей на основе связанных тем.
Поисковые системы, такие как Google и Yahoo! использовать методы кластеризации для группировки данных с похожими характеристиками.
Группы новостей используют методы кластеризации для группировки различных статей на основе связанных тем.
Механизм кластеризации полностью просматривает входные данные и, основываясь на характеристиках данных, решает, в какой кластер его следует сгруппировать. Посмотрите на следующий пример.
Наша библиотека учебных пособий содержит темы на различные темы. Когда мы получаем новое учебное пособие в TutorialsPoint, оно обрабатывается механизмом кластеризации, который на основе своего содержимого решает, куда его следует сгруппировать.