Подтвердить что ты не робот

Что такое машинное обучение?

  • Что такое машинное обучение?
  • Что делает машинное обучение code?
  • Когда мы говорим, что машина узнает, она модифицирует код или изменяет историю (базу данных), которая будет содержать опыт кода для заданного набора входов?
4b9b3361

Ответ 1

Что такое машинное обучение?

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

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

Что делает код машинного обучения?

В зависимости от типа машинного обучения, о котором вы говорите. Машинное обучение - огромное поле, с сотнями различных алгоритмов для решения множества различных проблем - см. Wikipedia для получения дополнительной информации; в частности, посмотрите Типы алгоритмов.

Когда мы говорим, что машина узнает, она модифицирует сам код или изменяет историю (базу данных), которая будет содержать опыт кода для заданного набора входов?

И снова это зависит.

Один пример модифицируемого кода: Генетическое программирование, где вы, по сути, разрабатываете программу для выполнения задачи (конечно, программа не работает 't изменить себя, но он модифицирует другую компьютерную программу).

Нейронные сети, с другой стороны, автоматически изменяют свои параметры в ответ на подготовленные стимулы и ожидаемый ответ. Это позволяет им создавать множество моделей поведения (теоретически они могут производить любое поведение, потому что они могут приближать любую функцию к произвольной точности, учитывая достаточное время).


Следует отметить, что использование термина "база данных" означает, что алгоритмы машинного обучения работают путем "запоминания" информации, событий или событий. Это не обязательно (или даже часто!) Случай.

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

Эта последняя способность - способность реагировать на входные данные, которые никогда не видели раньше - является одним из основных принципов многих алгоритмов машинного обучения. Представьте, что вы пытаетесь научить компьютер-драйверу перемещаться по дорогам в трафике. Используя метафору "базы данных", вы должны научить компьютер точно, что делать в миллионах возможных ситуаций. Эффективный алгоритм машинного обучения (мы надеемся!) Сможет узнать сходство между разными состояниями и реагировать на них аналогичным образом.

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

Ответ 2

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

Существует несколько различных категорий машинного обучения, включая (но не ограничиваясь ими):

  •  
  • Наблюдаемое обучение 
  • Усиление обучения

Надзорное обучение
При контролируемом обучении у вас есть очень сложная функция (сопоставление) со входов на выходы, у вас есть много примеров пар ввода/вывода, но вы не знаете, что это за сложная функция. Контролируемый алгоритм обучения позволяет, учитывая большой набор данных пар ввода/вывода, прогнозировать выходное значение для некоторого нового входного значения, которое вы, возможно, раньше не видели. Основной метод заключается в том, что вы разбиваете набор данных на обучающий набор и тестовый набор. У вас есть модель с связанной функцией ошибок, которую вы пытаетесь свести к минимуму по сравнению с набором учебных материалов, а затем убедитесь, что ваше решение работает на тестовом наборе. Как только вы повторите это с помощью различных алгоритмов машинного обучения и/или параметров, пока модель не будет достаточно хорошо работать на тестовом наборе, вы можете попытаться использовать результат на новых входах. Обратите внимание, что в этом случае программа не изменяется, изменяется только модель (данные). Хотя теоретически можно было бы получить другую программу, но это не делается на практике, насколько мне известно. Примером контролируемого обучения будет система распознавания цифр, используемая почтовым отделением, где она сопоставляет пиксели с метками в наборе 0... 9, используя большой набор изображений цифр, которые были помечены вручную как находящиеся в 0... 9.

Укрепление обучения
В обучении подкрепления программа отвечает за принятие решений, и она периодически получает какую-то награду/полезность за свои действия. Однако, в отличие от наблюдаемого случая обучения, результаты не являются немедленными; алгоритм может предписывать большую последовательность действий и получать только обратную связь в самом конце. В обучении подкрепления целью является создание хорошей модели, так что алгоритм будет генерировать последовательность решений, которые приводят к наивысшей долгосрочной полезности/вознаграждению. Хорошим примером обучения усилению является обучение робота, как перемещаться, давая отрицательное наказание, когда его датчик удара обнаруживает, что он наткнулся на объект. Если правильно закодировано, робот может в конечном итоге скорректировать данные датчика дальномера с его данными датчика бампера и направлениями, которые отправляются на колеса, и в конечном итоге выбрать форму навигации, которая приведет к тому, что она не столкнется с объектами.

Дополнительная информация
Если вам интересно узнать больше, я настоятельно рекомендую вам прочитать "Распознавание образов и машинное обучение" Кристофера М. Бишопа или пройти курс машинного обучения. Вы также можете быть заинтересованы в бесплатном чтении лекций из CIS 520: Machine Learning в Penn.

Ответ 3

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

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

  • Код не будет изменен, когда машина узнает, только база данных о том, что "он знает".

Ответ 4

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

Ответ 5

Машиноведение - это просто общий термин для определения множества алгоритмов обучения, которые дают квазиучебное изучение из примеров (немаркированных/помеченных). Фактическая точность/ошибка полностью определяется качеством данных обучения/тестирования, которые вы предоставляете вашему алгоритму обучения. Это можно измерить с использованием скорости конвергенции. Причина, по которой вы приводите примеры, состоит в том, что вы хотите, чтобы алгоритм обучения по вашему выбору мог быть информативным путем обобщения. Алгоритмы могут быть классифицированы по двум основным областям контролируемого обучения (классификация) и неконтролируемым методам обучения (кластеризации). Крайне важно, чтобы вы приняли обоснованное решение о том, как вы планируете разделять свои учебные и тестовые наборы данных, а также качество, которое вы предоставляете вашему алгоритму обучения. Когда вы предоставляете наборы данных, вы также должны знать о таких вещах, как обстановка и поддержание чувства здорового уклона в ваших примерах. Алгоритм тогда в основном учит писать, написав на основе обобщения, который он извлекает из данных, которые вы ему предоставили как для обучения, так и для тестирования в процессе вы пытаетесь получить свой алгоритм обучения для создания новых примеров на основе вашего целевого обучения. В кластеризации очень мало информативного руководства, которое алгоритм в основном пытается произвести посредством мер шаблонов между данными для построения связанных наборов кластеров, например, kmeans/knearest neighbour.

несколько хороших книг: Введение в ML (Нильссон/Стэнфорд), Гауссовский процесс для ML, Введение в ML (Alpaydin), Алгоритмы вывода информации и обучения (очень полезная книга), Machine Learning (Mitchell), Распознавание образов и машинное обучение (стандартная книжка ML в Эдинбурге и различные Unis, но относительно тяжелые чтения с математикой), Data Mining и практическое машинное обучение с Weka (работа через теорию с использованием weka и практики на Java)

Укрепление обучения есть бесплатная онлайн-книга, которую вы можете прочитать: http://www.cs.ualberta.ca/~sutton/book/ebook/the-book.html

IR, IE, Рекомендации и Text/Data/Web Mining в целом используют много принципов машинного обучения. Вы также можете применять методы метаэвристической/глобальной оптимизации для дальнейшей автоматизации процессов обучения. например, примените эволюционный метод, такой как GA (генетический алгоритм) для оптимизации подхода на основе нейронной сети (который может использовать некоторый алгоритм обучения). Вы можете приблизиться к нему исключительно в форме вероятностного подхода к компьютерному обучению, например, байесовского обучения. Большинство из этих алгоритмов очень сильно используют статистику. Концепции конвергенции и обобщения важны для многих из этих алгоритмов обучения.

Ответ 6

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

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

Ученики - это, по сути, данные, поэтому они сохраняют свое состояние, поскольку данные будут повторно использоваться позже. Они не самомодифицируются как таковые, по крайней мере в целом.

Ответ 7

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

Говорят, что компьютерная программа учится на опыте E по отношению к некоторому классу задач T и показателю производительности P, если его производительность при задачах в T, измеренная P, улучшается с опытом E

Ответ 8

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

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

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

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

Ответ 9

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

Чтобы добавить к другим ответам - машинное обучение не будет (как правило) изменением кода, но оно может изменить его путь выполнения и решение на основе предыдущих данных или новых собранных данных и, следовательно, эффекта "обучения".

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

Это один из способов обучения, и есть еще много...