5 марта 2016 г.

Что же я изучаю или что такое Machine Learning

Меня часто спрашивают что же я изучаю или на кого учусь. Попробую объяснить для широкого круга читателей. 

Моя программа называется Machine Learning and Data Mining и состоит как можно догадаться из двух дисциплин, которые неразрывно связаны друг с другом. Первая называется Machine Learning (в русском варианте Машинное обучение) и является подразделом Систем искусственного интеллекта. Сейчас это самая продвинутая область информационных технологий и в последнее время самая модная. Если верить статьям на Хабрахабре методы Machine Learning сейчас внедряют и используют повсеместно и там где это надо и даже там где не надо. В тоже время стали популярны соревнования на эту тему под названием Kaggle, участники соревнуются на знание и умение применять те или иные методы машинного обучения. Как это работает? Давайте разберем на примере.

Допустим у вас в эл.почтовом ящике есть 100 писем, из них половина является спамом. Для каждого письма известно когда оно было отправлено, адрес отправителя, почтовый сервер через который оно было послано, ключевые слова которые встречаются в тексте письма и возможно еще ряд других параметров. Если дать эту информацию человеку, то возможно он найдет зависимость между параметрами и сможет придумать алгоритм как классифицировать новые письма на спам и не спам. А что если он не увидит этой зависимости? А что если количество параметров переваливает за сотню? А что если в нашем распоряжении тысячи примеров писем спам и не спам? В этих ситуациях человеку уже не справится в одиночку и ему придет на помощь Machine Learning. Если объяснять еще проще, то вы наверняка смотрели фантастические фильмы про роботов, где роботу объясняют пару примеров и на основе их он получает новые знания. Последним из того что я смотрел на эту тему был "Робот по имени Чаппи" (США, 2015). Поначалу мне казалось что это жуткая фантастика, сейчас же я понимаю, что это в вполне реально. Только в фильмах все приукрашено конечно.

Вторая дисциплина называется Data Mining (настолько новая, что пока не имеет устоявшегося русского названия). "Добыча данных" занимается поиском закономерностей в данных. В отличии от Machine Learning, где нужно выучить модель которая будет использоваться в дальнейшем, задача Data Mining получить выгоду из того что есть. Для примера рассмотрим анализ корзины покупателя в супермаркете. В каждом таком магазине есть база данных покупок. Если мы хотим узнать какие продукты чаще всего покупают мы воспользуемся обычными инструментами которые есть в базах данных. К примеру, можно сформировать таблицу состоящую из товаров имеющихся в магазине, далее сортируем таблицу по частоте и мы увидим рейтинг популярных товаров. А что если мы хотим узнать какая комбинация товаров чаще всего встречается в корзине покупателей? Это может быть как один, так и 2, 3 и даже 10 товаров вместе. Тут уже стандартный запрос к базе данных не поможет, нужно пользоваться одним из алгоритмов Data Mining. В итоге вы можете узнать, к примеру, что в западных супермаркетах самая популярная комбинация это памперсы и пиво, то есть почти все кто покупают памперсы также покупает и пиво. Как результат, полки с данными товарами стараются расположить рядом друг с другом.

Кто-то считает Data Mining подразделом Machine Learning, кто-то считает наоборот, нет устоявшегося мнения на этот счет. Так или иначе эти две дисциплины неразрывно связаны друг с другом.

Подписи на картинке (слева направо): Что общество думает я делаю, Что мои друзья думают я делаю, Что мои родители думают я делаю, Что другие программисты думают я делаю, Что я сам думаю я делаю, Что я на самом деле делаю.

Комментариев нет:

Отправить комментарий