-
Что такое машинное обучение?
В этом видео мы попытаемся определить, что это, а также
-
понять, когда следует применять машинное обучение.
Даже среди специалистов,
-
практикующих машинное обучение, нет общепринятого определения, чем является
-
и чем не является машинное обучение. Но позвольте мне показать вам пару примеров того,
-
как люди пытались дать ему определение.
Вот определение машинного обучения,
-
данное Артуром Сэмуэлем. Он определил машинное обучение как область исследования, которая даёт
-
компьютерам возможность учиться без чётко запрограммированных указаний. Сэмуэль прославился в
-
1950-х, когда написал программу, играющую в шашки.
-
Удивительно в этой программе было то, что сам Артур Сэмуэль
-
был не очень-то хорошим игроком в шашки. Но он сделал так, что программа сыграла
-
десятки тысяч раз сама с собой. И наблюдая, какие расстановки
-
ведут к выйгрышу, а какие к проигрышу,
-
эта программа со временем научилась определять, какие расстановки являются "хорошими",
-
а какие - "плохими". И в конечном счёте научилась играть
-
в шашки лучше, чем мог сам Артут Сэмуэль.
Это был замечательный результат.
-
Несмотря на то, что Артур Сэмуэль был не очень хорошим игроком в шашки.
-
Но компьютер имел терпение играть десятки тысяч раз против себя.
-
Ни один человек не вытерпит играть столько игр. А компьютер, сделав это, был способен
-
накопить столько опыта игры в шашки, что в итоге стал
-
лучшим игроком, чем сам Артур Сэмуэль.
Это немного неформальное определение,
-
да и более старое. Вот более современное определение Тома Митчела,
-
который был другом Карнеги Меллона. Итак, Том определяет машинное обучение,
-
утверждая, что корректно поставленная задача обучения определяется следующим образом. Он говорит,
-
что компьютерной программе задано учиться, исходя из опыта E, с учётом задания T, и некого
-
показателя эффективности P, так чтобы её (программы) эффективность на T, измеренная с помощью P улучшалась
-
с опытом E. Я вообще-то думаю, что он придумал такое определение просто чтобы
-
оно рифмовалось.
Для примера игры в шашки опытом Е будет
-
опыт, который программа получала, играя десятки тысяч игр против себя.
-
Задание Т - задание играть в шашки. И показатель эффективности Р
-
- это вероятность, что она выйграет следующую игру в шашки против
-
какого-то нового оппонента.
На протяжении этих видео, кроме того, что я буду пытаться учить вас всякому,
-
я буду временами задавать вам вопросы, чтобы удостовериться, что вы понимаете содержание.
-
Вот первый, по определению машинного обучения, данному Томом Митчелом.
-
Предположим, ваша программа следит, какие письма вы помечаете или не помечаете,
-
как спам. Так в емэйл-клиенте, как этот, вы можете кликнуть на эту кнопку Спам, чтобы сообщить,
-
что некоторый емэйл является спамом, а другие - нет. Базируясь на том, какие письма вы помечаете,
-
как спам, ваша программа учится лучше определять, каким образом фильтровать спам. Что является
-
заданием Т в этом примере? Через несколько секунд видео приостановится. И когда оно это сделает,
-
вы сможете использовать мышку для того, чтобы выбрать один из 4-х вариантов, чтобы дать мне знать,
-
какой из них вы думаете правильный.
Итак, надеюсь, вы выяснили, что вот это правильный ответ. Заданием Т является классификация писем, как спам или не спам. Просмотр писем, отмеченных, как спам или не спам, является опытом Е.
-
Количество (часть) писем, корректно отсортированных спам/не спам - это показатель эффективности Р. Итак, эффективность нашей системы,
-
выполняющей задание Т, с показателем эффективности Р
-
улучшится после накопления опыта Е.
В этом курсе я надеюсь научить вас различным типам
-
самообучающихся алгоритмов.
Есть несколько типов самообучающихся алгоритмов.
-
Главные два типа мы называем обучение с учителем и обучение без учителя.
-
Я определю эти термины точнее в ближайших следующих видео.
-
Получается, что в обучении с учителем идея в том, что мы собираемся учить
-
компьютер, как делать что-то, тогда как в обучении без учителя мы позволим
-
ему обучаться самостоятельно. Не беспокойтесь, если эти два термина пока непонятны,
-
в следующих двух видео я собираюсь чётко рассказать, что это за два типа обучения.
-
Вы также услышите другие классные термины типа обучения с подкреплением и
-
рекомендательных систем. Это другие типы машинного обучения, про которые мы поговорим позже,
-
но двумя наиболее используемыми типами алгоритмов являются, вероятно,
-
обучение с учителем и без учителя (supervised learning and unsupervised learning) и я дам им определение в следующих
-
двух видео, и мы проведём большую часть этого курса, разговаривая об этих двух типах
-
самообучающихся алгоритмов. Оказывается, ещё одна тема, которая займёт у нас много времени
-
в этом курсе - это практические советы по применению самообучающихся алгоритмов.
-
Это та часть, в необходимости которой я уверен, и это на самом деле нечто, чему не
-
знаю, учат ли в других университетах. Обучать алгоритмам машинного обучения
-
- это как давать вам набор инструментов, и настолько же важно или даже
-
более важно, чем дать вам инструменты, научить вас, как использовать эти инструменты.
-
Мне нравится проводить аналогию с обучением плотническому мастерству. Представьте, кто-то
-
учит вас быть плотником, и они говорят: вот молоток,
-
вот отвёртка, вот пила, успехов! Ну, это же не правильно, да? У вас
-
есть все эти инструменты, но более важно уметь ими пользоваться правильно.
-
Есть огромная разница между людьми,
-
которые знают, как пользоваться алгоритмами машинного обучения и людьми, которые не знают,
-
как их правильно применять. Здесь, в Кремниевой долине, где я живу, когда я иду
-
навещать разные компании, даже топовые в долине, очень часто я вижу,
-
как люди пытаются применять алгоритмы машинного обучения для решения какой-то проблемы и
-
иногда они над ней бьются уже на протяжении полугода. Но когда я смотрю
-
на то, что они делают, я говорю, знаете, я мог бы сказать им типа ой, я мог
-
сказать вам полгода назад, что вам нужно бы взять этот алгоритм
-
и применить немного модифицированную его версию, и ваши шансы на успех были бы намного выше.
-
Так что в этом классе мы проведём кучу времени
-
разговаривая о том, что если вы пробуете разрабатывать систему машинного обучения,
-
как применять эти наилучшие практики в процессе
-
построения вашей системы, чтобы, когда вы применяли самообучающийся алгоритм, уменьшить вероятность
-
стать как те люди, которые следуют по одной схеме на протяжении 6-ти месяцев,
-
пока, знаете, кто-то другой не выяснит, что это не заработает, и что
-
всё это было пустой тратой 6-ти месяцев времени. Поэтому я, в самом деле, собираюсь провести
-
массу времени, обучая вас тем видам лучших практик в машинном обучении и ИИ
-
и тому, как заставить всё это работать, и тому, как мы это делаем, как лучшие люди делают это в Кремниевой долине
-
и по всему миру. Я надеюсь сделать вас одними из лучших людей в этом деле,
-
знающими, как проектировать и создавать серьёзные системы машинного обучения и ИИ.
-
Итак, вот что такое машинное обучение и вот главные темы, которые я буду преподавать.
В следующем видео
-
я собираюсь определить, что такое обучение с учителем, а потом
-
что такое обучение без учителя. А также начать говорить о том, когда какое из них применять.