Содержание
Машинное обучение — это выполнение машинами действий без необходимости программировать эти действия. В зависимости от окружения, машина или компьютер могут принять решение как действовать. В общем, это направление, в котором машины обучаются на предоставленной информации — тренировочных данных. Как только вы натренируете машину, вы сможете классифицировать данные.
По определению словарей это приобретение знаний или навыков посредством накопления опыта, либо изучения некоторой темы — самостоятельно или с преподавателем. Здесь нужно отметить, что обучение должно происходить при взаимодействии с окружающей средой. Врождённые для индивида знания и навыки, либо полученные в результате естественного роста, не считаются обучением.
Следуя похожей логике, мы можем определить обучение как приобретаемый машиной опыт, причём не из распознавания заранее запрограммированных образов. Поэтому, если мы попытаемся применить это к компьютерным вычислениям, то основная задача будет состоять в том, чтобы увеличить опыт машины, передав ей объекты для тренировки.
Главной целью обучаемого является развитие способности к обобщению и построению ассоциаций. Применительно к машине, это будет означать, что она должна действовать точно и аккуратно как в уже известных задачах, так и в новых, непредвиденных ситуациях. Машины должны воспроизводить когнитивные способности человека, формируя модели, которые обобщают представленную им информацию. Ключевым ингредиентом здесь являются данные.
На самом деле, происхождение и формат данных не так важны. Машинное обучение может поглощать широкий спектр таких данных. Они получили название «большие данные». Однако машины не воспринимают их как информацию, скорее, как набор практических примеров. Научить машину работать с ними можно с помощью четырёх основных методов:
Оно зависит от ранее размеченных данных. Так, компьютер может различать изображения автомобилей и самолётов. Помимо компьютера разметку может делать и инженер, для обеспечения эффективности и качества данных. Идея состоит в том, чтобы компьютеры учились на многочисленных примерах. После этого они смогут делать необходимые вычисления, и нам не нужно будет повторно вводить информацию.
Например, используя обучение с учителем, алгоритму можно предоставить данные с изображениями акул, разметив их как «рыбы», и изображения океана, разметив их как «вода». Натренировавшись на этих данных, после обучения наш алгоритм должен уметь определять неразмеченные изображения акул как рыб, а изображения океана как воду.
В этом случае именно алгоритм размечает данные, не учитывая какие-либо предварительные подсказки. Вместо этого вы даёте алгоритму большой объём данных вместе с характеристиками объектов.
В качестве примера можно привести кластеризацию — технику, включающую в себя группировку точек данных. В теории, точки, находящиеся в одной группе должны иметь похожие свойства и/или особенности, в то время как точки из разных групп должны иметь сильно различающиеся свойства и/или особенности.
Этот метод уже давно применяется в:
В данном случае основой метода является подкрепление. В некоторых ситуациях машина способна обучаться, основываясь на методе проб и ошибок. И хотя вы с самого начала знаете результаты, вы не знаете, как лучше всего их получить.
Обучение с подкреплением касается алгоритмов, ориентированных на цель (последовательность инструкций, составляющих решение некоторой проблемы). Они учатся достигать некую сложную цель или увеличивать количество шагов. Например, набрать максимум очков и выиграть за несколько ходов игру. Они могут начинать с пустого листа, но в правильных условиях, достигать производительности, намного превышающей человеческую.
Его можно считать разделом машинного обучения, в котором алгоритмы создаются и работают почти так же, как и в обычном машинном обучении, однако существует несколько слоёв данных алгоритмов. Каждый из них предлагает различную интерпретацию получаемых данных. Эта сеть алгоритмов называется искусственной нейронной сетью. Она названа так потому, что её работа считается неким вдохновением или хотя бы попыткой имитировать функцию нейронных сетей человеческого мозга.
Глубокое обучение не требует человеческого вмешательства, так как слои нейронной сети разделяют данные согласно иерархии различных концепций, и в конечном итоге учатся на собственных ошибках. Однако даже они могут привести к неверным результатам, если качество данных недостаточно хорошее.