Что такое машинное обучение? [закрытый]

  • Что такое машинное обучение?
  • Что делает код машинного обучения?
  • Когда мы говорим, что машина учится, она изменяет код себя, или она изменяет историю (база данных), которая будет содержать опыт кода для данного набора исходных данных?
90
задан quintumnia 27 October 2017 в 07:17
поделиться

7 ответов

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

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

Другой способ думать о машинном обучении - это «распознавание образов» - акт обучения программе реагировать на или распознавать закономерности.

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

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

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

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

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

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


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

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

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

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

141
ответ дан 24 November 2019 в 06:58
поделиться
  • Машинное обучение - это научная дисциплина, которая занимается проектированием и разработкой алгоритмов, которые позволяют компьютерам развивать поведение на основе эмпирических данных, например данных датчиков или баз данных. Подробнее см. Википедия

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

  • Сам код не будет изменен при обучении машины, только база данных того, что «она знает».

11
ответ дан 24 November 2019 в 06:58
поделиться

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

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

Все учащиеся, по сути, управляются данными, то есть они сохраняют свое состояние как данные для последующего повторного использования. Они не самомодифицируются как таковые, по крайней мере, в целом.

8
ответ дан 24 November 2019 в 06:58
поделиться

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

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

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

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

6
ответ дан 24 November 2019 в 06:58
поделиться

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

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

  • Обучение с наблюдением
  • Обучение с усилением

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

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

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

22
ответ дан 24 November 2019 в 06:58
поделиться

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

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

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

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

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

7
ответ дан 24 November 2019 в 06:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: