Машинное обучение – это программирование наоборот. У любого алгоритма есть вход и выход: данные поступают в компьютер, алгоритм делает с ними то, что нужно, и выдает результат. Машинное обучение, имея в своем распоряжении данные и желаемый результат, создает алгоритм, который превращает одно в другое. Обучающиеся алгоритмы создают другие алгоритмы, обученные на основе имеющихся данных. С помощью машинного обучения компьютеры сами пишут для себя программы.
Алгоритмы машинного обучения на удивление просты. Обычно они состоят из нескольких сотен строк кода. В то же время программы, которые они заменяют, включают сотни тысяч или миллионы строк.
Если небольшой набор несложных обучающихся алгоритмов может выполнить практически любую задачу, возникает вопрос: есть ли единый алгоритм, который сам делал бы все? Его создание станет одним из величайших научных достижений в истории человечества. Верховный алгоритм – последнее, что изобретет человек, потому что все остальное верховный алгоритм изобретет сам.