Машинное обучение

Всем привет! Сегодня мы поговорим о машинном обучении: что такое и как делается?

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

Существуют два основных способа обучения:

1. Обучение с учителем

2. Обучение без учителя

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

Обучение с учителем

Возможно, вы уже представили себе программиста с линейкой в руках у доски, но всё чутка иначе)

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

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

Так вот такие задачи называются задачами классификации, ведь нам надо классифицировать объекты.

Для наглядности:

Синие и зелёные объекты на графиках это некоторые данные и нам надо их разделить, т.е понять, что из них синий треугольник, а что зеленая точка. Красная прямая тут собственно проводится ИИ, и в зависимости от алгоритма, ИИ может по разному их разделять.

Обучение без учителя

Обучение без учителя соответственно происходит с неизвестными данными, т.е. компьютер не знает "правильных ответов", ему просто дали некоторые данные. Это могут быть какие-то признаки, параметры и тому подобное.

ИИ с помощью анализа данных, методов оптимизации и алгоритмов выявляет некоторые закономерности и применяет их для предсказания с некоторой долей вероятности. Компьютер на само деле, когда выводит какой-то ответ, он не говорит об этом однозначно, он просто выдаёт ответ с долей вероятности того, что этот пациент болен.

В машинном обучении на самом деле огромное количество алгоритмов для работы с различными данными и при разных типах обучения и некоторые из них довольно универсальны. Например бустинг над решающими деревьями. Вкратце, решающее дерево - это дерево с логическими условиями:

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

И таких подобных алгоритмов в машинном обучении огромное множество.

Нейронная сеть

Хорошо, мы поняли, что такое машинное обучение, но что же тогда нейронные сети, ведь о них сейчас так много говорят?

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

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

Вот как выглядит модель нейронной сети:

Зеленым цветом обозначены входные нейроны, синим скрытые, а желтым выходной нейрон.

Как же она работает?

Каждый искусственный нейрон - это процессор, который соединён с другими такими же процессорами. Они друг с другом постоянно взаимодействуют, используя для этого простые сигналы. Сам по себе такой процессор обладает малой вычислительной мощностью, но целая такая сеть способна решать сложные задачи. Соответственно преимущество нейронных сетей заключается в том, что их не надо программировать, она сама обучается, постепенно улучшая качество выдачи результата.

Конечно существует много алгоритмов при которых происходит переобучение и недообучение, но это уже совсем другая история)
__________________________________________________________________________________________________
Если вдруг так звёзды сошлись, и тебе понравился этот блог, то поставь палец вверх, подпишись на канал и группу Вконтакте, чтобы не пропустить новые блоги)