Основы машинного обучения
определение
Вот несколько примеров машинного обучения. Например, анализ базы данных. Одной из причин, по которой машинное обучение используется для интеллектуального анализа данных, является рост сетей и автоматизации, а это означает, что у нас есть самый большой набор данных за всю историю, например, большое количество компаний Силиконовой долины собираютwebДанные о кликах на веб-сайте, также известные как данные о посещениях, и попробуйте использовать алгоритмы машинного обучения для анализа данных, лучшего понимания пользователей и предоставления им более качественных услуг. В Силиконовой долине огромный рынок. Другой пример — медицинские документы. С появлением автоматизации у нас теперь есть электронные медицинские карты. Если мы сможем превратить медицинские записи в медицинские знания, мы сможем лучше понять болезнь. Другой пример — вычислительная биология. Или из-за автоматизированных технологий, большого количества последовательностей генетических данных, собранных биологами,DNAПоследовательности и бла, бла, бла, бла, бла, бла, бла, бла, бла, бла, бла, бла, бла, бла, бла, бла, бла, бла с человеческим геномом. Другой пример, инженерия, во всех областях инженерии у нас есть все большие и большие наборы данных, которые мы пытаемся понять с помощью алгоритмов обучения. Кроме того, в механических приложениях некоторые люди не могут работать напрямую. Например, я много лет работаю в области беспилотных вертолетов. Мы не знаем, как написать программу, чтобы вертолет летал сам по себе. Единственное, что мы можем сделать, это позволить компьютеру самому научиться управлять вертолетом.
На самом деле, если вы посмотрите на обработку естественного языка или компьютерное зрение, понимание языка или понимания изображений относится к области ИИ. В большинстве случаев обработки естественного языка и компьютерного зрения применяется машинное обучение. Алгоритмы обучения также широко используются в пользовательских программах. каждый раз, когда вы идете на амазонку илиNetflixилиiTunes Genius, он предложит другие фильмы, продукты или музыку, что является алгоритмом обучения. Если подумать, у них миллионы пользователей, но у них нет средств написать миллионы разных программ для миллионов пользователей. Единственный способ, которым программное обеспечение может дать эти индивидуальные предложения, — это изучить ваше поведение, чтобы настроить службу для вас.
Как и многие определения в информатике или разработке программного обеспечения, не существует общепринятого определения того, что такое машинное обучение, даже среди специалистов по машинному обучению.
- Arthur Samuel, он определяет машинное обучение как область, которая дает компьютерам возможность обучаться с помощью специального программирования.
- Tom Mitchell, программа считается способной учиться на собственном опытеEобучение, решение задачT, вплоть до показателя производительностиP, тогда и только тогда, когда с опытомEпосле, послеPСудя по всему, у программы улучшилась производительность при работе с T.
Классификация
Существует несколько различных типов алгоритмов обучения, два основных типа называютсяКонтролируемое и неконтролируемое обучение.
контролируемое обучение
Контролируемое обучение означает, что мы даем алгоритму обучения набор данных. Этот набор данных состоит из «правильных ответов». Типичное контролируемое обучение может решить проблемы регрессии и классификации.
Скажем, вы хотите предсказать цены на жилье. Некоторое время назад студент собрал некоторые данные о ценах на жилье в Институте в Портленде, штат Орегон. Если вы нанесете данные на график, это будет выглядеть так: по горизонтальной оси отложен размер дома в квадратных футах, а по вертикальной оси — цена дома в тысячах долларов. Итак, на основе этого набора данных предположим, что у вас есть друг, у которого есть дом площадью 750 квадратных футов, и теперь он хочет продать этот дом, и он хочет знать, за сколько этот дом будет продан.
Так как же алгоритмы машинного обучения могут помочь вам в решении этой проблемы?
Применяя алгоритм обучения, мы можем провести прямую линию или, другими словами, провести прямую линию в этом наборе данных, из чего мы можем сделать вывод, что дом может быть продан за 150 000 долларов США., конечно, это не единственный алгоритм. Может быть лучше, например, вместо аппроксимации данных прямой линией может быть лучше аппроксимировать квадратным уравнением. Основываясь на кривой квадратного уравнения, мы можем сделать вывод, что дом будет продаваться примерно за 200 000 евро.
В примере с ценами на дома нам дается ряд данных о домах, мы указываем правильную цену каждого образца в наборе данных, то есть их фактическую цену продажи, а затем используем алгоритм обучения для расчета более правильных ответов. Например, цена нового дома твоего друга. В терминологии это называетсяпроблема регрессии. Давайте попробуем экстраполировать непрерывный результат, цену дома.
Термин регрессия означает, что мы пытаемся вывести этот набор свойств с непрерывными значениями.
Возьмем еще один пример контролируемого обучения. Предположим, вы хотите посмотреть медицинские записи, чтобы определить, является ли рак молочной железы доброкачественным или нет.Если у кого-то обнаруживается опухоль молочной железы, злокачественные опухоли вредны и очень опасны, а доброкачественные опухоли не так опасны, поэтому людей явно волнует этот вопрос.
Давайте посмотрим на набор данных: в этом наборе данных горизонтальная ось представляет размер опухоли, а на вертикальной оси я отметил 1 и 0, чтобы указать, является ли это злокачественной опухолью или нет. Для опухолей, которые мы видели ранее, если они злокачественные, они записываются как 1, если они не злокачественные или доброкачественные, они записываются как 0.
У меня есть 5 образцов доброкачественных опухолей и 5 образцов злокачественных опухолей в позиции 1. Сейчас у нас есть знакомая, у которой, к сожалению, обнаружили опухоль молочной железы. Предполагая, что ее опухоль примерно такого размера, проблема с машинным обучением заключается в следующем.Можете ли вы оценить вероятность того, что опухоль злокачественная или доброкачественная?. В терминологии этопроблема классификации.
Классификация означает, что мы пытаемся вывести дискретные выходные значения: 0 или 1 доброкачественные или злокачественные, тогда как на самом деле в задачах классификации выходные данные могут иметь более двух значений.. Предположим, что может быть три типа рака молочной железы, поэтому вы хотите предсказать дискретные результаты 0, 1, 2, 3. 0 — доброкачественный, 1 — рак молочной железы 1-го типа, 2 — рак молочной железы 2-го типа и 3 — рак 3-го типа, но это также проблема классификации.
Поскольку эти дискретные выходные данные соответствуют доброкачественному, первому, второму или третьему раку, мы можем изобразить эти точки данных другим способом в задаче классификации.
Теперь я использую разные символы для представления этих данных. Поскольку мы думаем о размере опухоли как о признаке, который отличает злокачественную опухоль от доброкачественной, я могу изобразить ее так: я использую разные символы для доброкачественных и злокачественных опухолей. Или отрицательные и положительные образцы. Теперь мы не рисуем всеXдоброкачественные опухоли превращаются вOУказывает на то, что злокачественная опухоль продолжает использоватьXВыражать. для прогнозирования злокачественности опухоли.
В некоторых других задачах машинного обучения может встречаться более одной функции. Например, мы знаем не только размер опухоли, но и возраст соответствующего пациента. В других задачах машинного обучения у нас обычно больше возможностей, когда мой друг изучает эту проблему, обычно используются такие признаки, как плотность массы, постоянство размера и формы опухолевых клеток и т. д., и некоторые другие признаки. Это один из самых интересных алгоритмов обучения, о котором мы собираемся узнать. Этот алгоритм может обрабатывать не только 2, 3 или 5 функций, но даже бесконечное количество функций.
На приведенном выше рисунке я перечислил всего 5 различных признаков (наборы данных по возрасту, размеру и координатам, каждые данные содержат по три признака), два на оси и 3 справа, но в некоторых задачах обучения нужно использовать больше чем 3 или 5 функций. Напротив,Вы хотите использовать бесконечное множество функций, чтобы ваш алгоритм мог использовать большое количество функций или подсказок, чтобы делать выводы. Итак, как вы справляетесь с бесконечным количеством функций, или даже как хранить эти функции, есть проблема, памяти вашего компьютера определенно не хватает.
Основная идея обучения с учителем заключается в том, что у каждого образца в нашем наборе данных есть соответствующий «правильный ответ». Затем сделайте прогнозы на основе этих выборок, как это было сделано в примере с домом и опухолью.Задачи регрессии, где регрессия используется для вывода непрерывного результата, задачи классификации, целью которых является вывод дискретного набора результатов.
неконтролируемое обучение
Отличается от внешнего вида данных обучения с учителем, то есть обучение без учителя не имеет меток или имеет ту же метку или не имеет метки. Итак, мы знаем набор данных, но не знаем, что с ним делать, и не говорим, что представляет собой каждая точка данных. Я больше ничего не знаю, это просто набор данных. Можете ли вы найти какую-то структуру в данных? Типичное обучение без учителя может решить проблемы кластеризации.
Для наборов данных неконтролируемое обучение может определить, что данные имеют два отдельных кластера. Это одно, это другое, и они разные. Алгоритм обучения без учителя может разделить эти данные на два отдельных кластера. Так называемый алгоритм кластеризации — это всего лишь один из видов обучения без учителя.
Ссылаясь на набор данных контролируемого обучения, как показано на диаграмме, каждый фрагмент данных в этом наборе данных был помечен как отрицательный или положительный, то есть доброкачественный или злокачественный. Следовательно, для каждой части данных в обучении с учителем мы уже четко знаем, является ли правильный ответ, соответствующий обучающему набору, доброкачественным или злокачественным.
Пример кластеризации приложений есть в Новостях Google. Новости Google ежедневно собирают новостной контент из очень большой сети. Затем он группирует эти новости в связанные новости. Что делает Google News, так это ищет очень большое количество новостных событий и автоматически группирует их вместе. Таким образом, все эти новостные события относятся к одной теме, поэтому они отображаются вместе.
Оказывается, алгоритмы кластеризации и алгоритмы обучения без учителя используются и во многих других задачах.
Среди них понимание и применение генетики. ОдинDNAПримеры микроданных. Основная идея состоит в том, чтобы ввести набор разных людей, и для каждого из них вы хотите проанализировать, есть ли у них определенный ген. Технически, вы хотите проанализировать, какая часть конкретного гена уже экспрессирована. Итак, эти цвета, красный, зеленый, серый и т. д. цвета, эти цвета показывают соответствующую степень, то есть наличие у разных людей определенного гена. Что вы можете сделать, так это запустить алгоритм кластеризации, чтобы объединить людей в разные классы или разные типы групп (людей)...
Так что это неконтролируемое обучение, потому что мы не сообщаем алгоритму что-то заранее, например, это первый тип людей, это второй тип людей, есть третий тип и так далее. Скажем так, да, это куча данных. Я не знаю, что в данных. Я не знаю, кто какой тип. Я даже не знаю, какие бывают типы у людей и что это за типы.Но можете ли вы автоматически найти структуру в данных? То есть вы хотите автоматически группировать этих людей в разные классы, и у меня нет возможности заранее узнать, какие из них какие. Поскольку мы не даем алгоритму правильный ответ на данные в наборе данных, это обучение без учителя.
Неконтролируемое обучение или агрегирование имеет множество применений. Используется для организации больших компьютерных кластеров. У меня есть друзья, которые работают в больших центрах обработки данных, где есть большие кластеры компьютеров, и они хотят выяснить, какие машины могут легко работать вместе, и если вы можете заставить эти машины работать вместе, вы можете сделать свои данные центр работает более эффективно. Второе приложение — это анализ социальных сетей. Таким образом, вы знаете информацию своего друга, например, которую вы часто отправляетеemailда или тыFacebookДрузья кругов **Google+**, можем ли мы автоматически создавать группы друзей? То есть люди в каждой группе хорошо знают друг друга и знают всех в группе? И сегментация рынка. Многие компании имеют большие базы данных, в которых хранится информация о потребителях. Таким образом, вы можете извлекать эти наборы данных о клиентах, автоматически обнаруживать рыночные классификации и автоматически разделять клиентов на разные сегменты рынка, а также автоматически и более эффективно продавать или продавать разные сегменты рынка вместе. Это также неконтролируемое обучение, потому что у нас есть все данные о клиентах, но мы не знаем заранее, что представляют собой сегменты и какие клиенты находятся в нашем наборе данных. Мы не знаем, кто находится в сегменте № 1, кто на рынке № 2 и так далее. Затем мы должны позволить алгоритму обнаружить все это по данным. Наконец, неконтролируемое обучение также можно использовать для анализа астрономических данных, и эти алгоритмы кластеризации дают удивительные, интересные и полезные теории о том, как рождаются галактики. Все это примеры кластеризации, которая является лишь одним из видов обучения без учителя.
Суммировать
Я надеюсь, ты все еще помнишьПроблема со спамом. Если у вас есть помеченные данные, чтобы различать спам и не спам, мы рассматриваем это какПроблемы контролируемого обучения.
Классификация новостных событийПример , который является примером Новостей Google, может использовать алгоритм кластеризации для объединения этих статей, поэтомунеконтролируемое обучение.Сегменты рынканапример, вы можете использовать его какнеконтролируемое обучениеПроблема в том, что я просто получаю данные алгоритма и позволяю алгоритму автоматически определять сегмент рынка.
Последний пример,сахарный диабет, это на самом деле как наш рак молочной железы, в последнем видео. Просто заменяя хорошие и плохие опухоли доброкачественными, злокачественными опухолями, мы переключаемся на диабет или отсутствие болезни. Итак, мы принимаем это какконтролируемое обучение, мы смогли решить ее как задачу обучения с учителем, как мы сделали с данными о раке молочной железы.
источник контента
[1] Стэнфордский курс машинного обучения, 2014 г. Ng Enda.
[2].Стэнфордский университет 2014 Курс машинного обучения Каталог китайских заметок