Даже если не пытаться предсказать значение неизвестной переменной (например, стоимости), алгоритмы механического обучения могут сделать кое-что интересное.
Обучение машин: что такое machine learning и как им овладеть
Простой анализ может показать, что твиты Трампа направляются президентом и его помощниками, причем Трамп отвечает за самые гневные твиты. Методы механического обучения позволяют делать более сложные выводы. Система восстанавливает миллионы записей или объектов, обнаруживает закономерности в данных и использует их для прогнозирования новых свойств данных. Если говорить проще, системы машинного обучения учатся на основе данных, например, ребенок пытается отличить кошку от собаки и прилагает больше усилий, чтобы понять и распознать различия во всех отношениях. Только в случае машинного обучения существуют миллиарды примеров, и скорость этого обучения намного выше, чем может себе представить человек.
Конечный результат так же хорош, как и примеры. Таким образом, машинное обучение может помочь понять, будет ли пользователь удален из платной услуги в ближайшем будущем, основываясь на сходстве с поведением других удаленных, но не поможет компании предложить доход в ближайший год. Если компания внезапно приобретает сильного конкурента или новый продукт.
Например, серверы электронной почты хранят спам, который беспокоит пользователей. Глядя на эти сообщения, есть очень большой шанс, что система различит признаки спама и определит, являются ли новые сообщения спамом или нет. Разработчики не пишут код для решения задачи (что отнимает много времени), а только общий алгоритм и сама машина могут найти взаимосвязи в данных. Другой случай: компьютер должен научиться распознавать, что на картинке — автомобиль или кресло. Запускается миллион различных «подписанных» (выделенных) изображений, и алгоритм вычисляет признаки, характеризующие изображение автомобиля или кресла, и определяет, что изображено на неподписанном изображении.
Научитесь анализировать большие данные и начните управлять матрицей с помощью уроков по большим данным.
Онлайн-кинотеатр Netflix посещают около 117 миллионов пользователей по всему миру, и разработчики используют машинное обучение, чтобы предлагать фильмы и передачи пользователям на основе их личной истории продвижения и рейтингов. Он также работает по принципу ‘Smart Centoral Storage’, который загружает части следующего эпизода сериала, если зритель следит за предыдущим. Самое интересное в Netflix — это машина качества потокового видео на мобильных устройствах и компьютерах. Фильмы требуют постоянного воспроизведения качества связи, поэтому разработчики стараются учитывать данные с других устройств, находящихся в том же районе.
Музыкальные сервисы, такие как Spotify, также используют рекомендации. Машинное обучение может быть использовано (путем анализа уровней сигнала) для определения типа песни, предложения песен, интересных пользователю, на основе предыдущих симпатий, или создания списка похожих произведений на основе того, что уже играло. Системы рекомендаций на основе алгоритмов машинного обучения и изменения предложения используют Mail.ru, Facebook, Twitter, Вконтакте и Instagram. Не говоря уже о соответствующих компаниях. Например, до 35% дохода Amazon поступает от рекомендательных сервисов (не говоря уже о том, что сама компания является поставщиком и сервером услуг машинного обучения).
Онлайн-сервисы и голосовые помощники операционных систем — еще одно применение машинного обучения. С «Алисой» от Яндекса, Siri от Apple, Cortana от Microsoft, умными колонками от Яндекса и иностранными механизмами «умного дома» все имеют дело с распознаванием речи и пытаются понять, что имеет в виду пользователь.
Научитесь анализировать большие данные и начните управлять матрицей с помощью уроков по большим данным.
Распознавание стандартов — еще одна область применения. Социальная сеть Pinterest использует машинное обучение для определения сходства между фотографиями. Помимо определения того, что содержит фотография, он классифицирует изображения, сравнивая их с другими изображениями, чтобы создать поток похожих фотографий. Facebook уже давно научился распознавать лица друзей на фотографиях, и его патент показывает, что социальная сеть готова переступить через себя в охоте за нашими голосами, деньгами и привычками.
PayPal использует механическое обучение для борьбы с мошенничеством — оценка риска основывается на совокупных данных о поведении пользователей. Подобные системы используются страховыми компаниями и банками, где для градации применяются алгоритмы.
Конечно, машинное обучение широко используется в научных исследованиях. Например, NASA использует алгоритмы для поиска важной информации на изображениях для визуального распознавания характерных планет и спутников, для анализа гиперобъектов, для поиска экзопланет (и поиск в этих проектах ведется постоянно!).. Специалисты по машинному обучению востребованы в фармацевтической промышленности, биологических и генетических исследованиях и других научных дисциплинах.
Amazon Indians использует приложение для мобильных телефонов для анализа звуков леса на основе машинного обучения. Алгоритм может распознавать х щелчки для предотвращения незаконной вырубки леса.
Стоит также упомянуть быстрорастущие и богатые отрасли, такие как компьютерные игры. Механическое обучение и искусственный интеллект активно вторгаются в сферу разработки игр, и эксперты предлагают еще большее проникновение предсказательных алгоритмов в ближайшем будущем. Машинное обучение частично используется при создании уровней, автоматически поощряя формы и объекты, поощряя лица и улучшая искусственный интеллект врагов, а также помогает адаптировать мобильные игры к потребностям пользователя. Не говоря уже о совершенствовании противоположности и механизма процесса исследования рынка free-to-play игр путем анализа поведения пользователей, прогнозирования удаления игроков и тестирования новых функций. Было выпущено множество мобильных приложений, использующих нейронные сети, начиная от смешных ушей и заканчивая Snapchat, умными клавиатурами, старением и преобразованием фотографий.
Кандидатский минимум: без чего нельзя стать специалистом по machine learning
Базовый набор для экспертов в области машинного обучения включает в себя.
Английский язык на уровне документации, более простых запросов.
Математическая подготовка: линейная алгебра, математическая статистика, алгоритмы, теория вероятностей, построение математических моделей и их интерпретация. Требования сильно варьируются в зависимости от мандата, а обоснованием является низкая техническая математика университетского уровня, которую необходимо обновить и дополнить.
Научитесь анализировать большие данные и начните управлять матрицей с помощью уроков по большим данным.
Знание баз данных. Это помогает создавать модели из различных источников — желательно понимание того, как очищать и преобразовывать данные, и опыт работы с различными типами баз данных или одним из них.
Знание как минимум одного распространенного языка программирования. Если вы новичок, начните с Python — это самый популярный и простой язык для профессионалов ML, знание которого необходимо работодателям и который еще проще выучить. Однако это не означает, что он является единственным. Если вы профессиональный программист, найдите подходящий для вас инструмент. Он может работать с машинным обучением на языке R. Она может благоприятствовать аналитикам и базам данных на Java, JavaScript, C ++, Scala, SAS и т.д. Язык — это инструмент моделирования, а не решающий фактор.
Не бойтесь чрезвычайной сложности, ведь вы можете создать простые модели на основе данных, полученных от учителя, за считанные минуты. Конечно, это не сделает вас экспертом, но даст вам представление о том, стоит ли двигаться в богатый мир исследований и машинного обучения.
Типы машинного обучения: два подхода к обучению
Машинное обучение основано на алгоритмах. В настоящее время используются два основных типа алгоритмов машинного обучения: контролирующие и автоматические. Разница заключается в том, как данные усваиваются для последующих положений.
- значение цикла обслуживания заказчика;
- выявление аномалий;
- динамическое ценообразование;
- предиктивное управление обслуживанием;
- распознавание образов;
- Разработка рекомендаций.
Машинное обучение и разработчики
Приступая к машинному обучению, разработчики успешно создают модели, способные обучаться с течением времени, основываясь на своих знаниях статистики, теории вероятности и математического анализа. Если разработчики обладают необходимыми навыками в этих областях, у них не должно возникнуть проблем с изучением инструментов, используемых многими другими разработчиками для обучения новейшим алгоритмам ML. Разработчики также могут решить, будут ли алгоритмы работать под наблюдением. Разработчики могут определять модели в проекте, определять модели и гарантировать, что модели могут быть изучены без вклада разработчика.
Часто бывает трудно провести границы между разработчиками и специалистами по анализу данных. Разработчики могут составлять данные из моделей машинного обучения, а специалисты по изучению данных могут участвовать в разработке решений для конечных пользователей. Сотрудничество между этими двумя отраслями может повысить ценность и полезность проектов машинного обучения.
Бизнес-цель машинного обучения — моделирование жизненного цикла заказчика
Моделирование стоимости цикла обслуживания клиентов имеет решающее значение не только для компаний, занимающихся онлайн-продажами, но и для организаций других отраслей. В этом сценарии применения машинное обучение используется для выявления, обучения и удержания наиболее ценных клиентов. Модель оценки сочетает в себе эти две функции, анализируя большие объемы данных о клиентах и предлагая возможность выявить наиболее приносящих доход клиентов, наиболее активных поклонников бренда.
Модели обслуживания клиентов особенно эффективны при прогнозировании будущей прибыли, которую принесет один клиент в определенный будущий период. Эта информация может помочь сосредоточить маркетинговые усилия на клиентах, создающих наибольшую ценность, и побудить их к более частому взаимодействию с брендом. Модель обслуживания клиентов также повышает эффективность таргетинга и, следовательно, привлекательность новых, ценных клиентов.
Повторяйте шаг 2 снова и снова, пока не определите все возможные комбинации пропорций. Когда вы найдете комбинацию с погрешностью, максимально приближенной к нулю, вы победили!
Алгоритм
Наш алгоритм измеряет, как часто за определенной буквой следует другая определенная буква в обычном тексте. И это делается для каждой пары букв. Например, для первой четкой фразы — «Я могу это сделать, я могу это сделать!». — распределение таково: «Я могу это сделать, я могу это сделать!
ат 1 | мо 2 | ри 2 |
во 2 | на 1 | тв 2 |
гу 2 | ог 2 | ть 2 |
ит 2 | ор 2 |
Что получилось: за буквой в следует буква о — два раза, — а за буквой а следует буква т — один раз. Для простоты мы не учитываем знаки препинания и пробелы.
На этом этапе становится ясно, что одного предложения недостаточно для обучения модели. Количество обеих комбинаций недостаточно, а разница в частоте встречаемости различных комбинаций не так уж велика. Поэтому необходимо получить гораздо больший объем данных. Например, давайте посчитаем буквенные комбинации, которые встречаются в первом томе романа «Война и мир».
то 8411 | на 6236 | на 6236 |
ст 6591 | не 5199 | оу 31 |
на 6236 | по 5174 | мб 2 |
оу 31 | ен 4211 | тж 1 |
Разумеется, это не вся таблица сочетаний, а лишь ее малая часть. Оказывается, вероятность встретить «то» в два раза выше, чем «ен». А чтобы за буквой т следовало ж — такое встречается лишь один раз, в слове «отжившим».
Теперь у вас есть «модель» русского языка. Как вы его используете? Чтобы определить вероятность того, что исследуемая вами линия является чистой или злокачественной, вы можете рассчитать ее «достоверность». Возьмите каждую пару букв из этой строки, определите их частоту по «модели» (по сути, реалистичность буквенного сочетания) и перемножьте эти числа.
Окончательное значение достоверности также должно учитывать количество символов в исследуемой строке. Это связано с тем, что чем больше символов, тем больше число, которое нужно перемножить. Поэтому из произведения извлекается корень нужной степени (длина строки минус единица).
Использование модели
Это позволяет сделать выводы. Чем выше число, тем выше достоверность исследуемой струны в модели. Поэтому более вероятно, что строка была написана человеком, т.е. более вероятно, что она чистая.
Однако если анализируемая строка содержит подозрительно большое количество очень редких комбинаций символов (например, öþ, þ, ъъ), то, скорее всего, она является искусственной — вредоносной.
В случае с вышеупомянутыми линиями действие заключается в следующем.
- Могу творить, могу и натворить! — 1805 баллов
- У меня два недостатка: плохая память и что-то еще. — 1535 баллов
- Никто не знает столько, сколько не знаю я. — 2274 балла
- ОРПорыав аоырОрпаыор ОрОРАыдцуцзущгкгеуб ыватьыивдцулвдлоадузцщ — 44 балла
- Йцхяь длваополц ыадолцлопиолым бамдлотдламда — 149 баллов
Чтобы не гадать, что такое «много», а что такое «мало», рекомендуется оставить определение пределов для самой машины (и сообщить ей об этом). Для этого мы даем ему несколько чистых линий и вычисляем их достоверность, затем даем ему несколько плохих линий и вычисляем их тоже. Затем вычисляем средние значения. Это позволит более адекватно отделить одни ценности от других. В нашем случае это будет около 500.
В реальной жизни
Подумайте о том, что у нас есть.
1. мы определили свойства чистой строки, т.е. пары символов.
На практике, при разработке реального антивируса, мы извлекаем признаки из файлов и других объектов. Кстати, это самый важный шаг. Уровень ноу-хау и опыта исследователя напрямую влияет на качество экспортируемых характеристик. Понимание того, что действительно важно, остается задачей человека. Например, кто сказал, что пары символов должны использоваться вместо троек? В таких случаях именно этим и занимаются антивирусные лаборатории. Следует также отметить, что машинное обучение используется для выбора наиболее подходящих и взаимодополняющих функций.
2. на основе выбранных признаков была создана математическая модель и обучена на примерах.
Конечно, на практике используется более сложная модель. В настоящее время наилучшие результаты достигаются с помощью набора градиентных деревьев-растворителей, но стремление к совершенству не может быть удовлетворено.
3. мы рассчитали балл «валидности» на основе математической модели.
В реальной жизни мы обычно ожидаем обратного, т.е. оценки злокачественности. Кажется, что разница не имеет значения, но насколько маловероятной в нашей математической модели будет казаться строка на другом языке или другой алфавит? Антивирус не имеет права допускать ложные срабатывания на целые категории файлов только потому, что они «не прошли».