Текст / Юн Мин
В последние годы машинное обучение стало очень популярным, и почти каждая проектная команда задумывается о том, можно ли оптимизировать текущий проект с помощью методов машинного обучения. Для студентов, изучающих передовые технологии, основная трудность заключается в том, что стек передовых технологий и базовые навыки, необходимые для машинного обучения, имеют большой разрыв.Основные учебные пособия по машинному обучению на рынке требуют от читателей высокой математической подготовки, а некоторые являются самыми основными.Принципы или мировоззрения, игнорируемые как естественные вещи, могут привести к трудностям в понимании. Эта статья пытается заполнить пробел между школьной математикой и обычным введением в машинное обучение.
Вероятностный отзыв
Случайные события: В случайном эксперименте событие, которое может появиться или не появиться, и событие с определенной регулярностью в большом количестве повторных экспериментов называется случайным событием (именуемым событием)
Образец пространства: сумма всех исходов случайного события
Случайные переменные: Число, соответствующее результату случайного события.Случайная величина по сути является отображением подмножества выборочного пространства в реальное числовое пространство.
Например, если монета подбрасывается два раза подряд, H записывается как решка вверх, T означает вверх решкой, то пространство выборки может быть записано как, мы определим случайную величину X, называемую количеством орлов, выпавших в результате подбрасывания монеты, поэтому у нас есть следующая таблица:
Результаты экспериментов |
случайная величина X |
HH | 2 |
HT | 1 |
TH | 1 |
TT | 0 |
Предположим, что вероятность появления каждого экспериментального результата равна, то можно вычислить вероятность случайной величины
случайная величина X |
Соответствующие экспериментальные результаты |
вероятность P |
2 |
HH |
|
1 |
HT,TH |
|
0 |
TT |
|
пример из реального мира
mnist
Однако для задач реального мира невозможно сделать предположение о том, что вероятность каждого экспериментального результата одинакова. Даже при таком допущении совокупность экспериментальных результатовМожет быть очень большим, его невозможно перечислить, как в приведенном выше примере, и невозможно рассчитать.
Предположим, у нас теперь есть задача распознавания рукописных цифр (mnist).
Каждое изображение представляет собой изображение размером 28 * 28 = 784 пикселя, а диапазон значений каждого пикселя составляет 0-255, поэтому всего имеетсяЕсть разные сэмплы, от насильственного метода, сгенерируйте все эти сэмплы, сделайте словарь, и хорошенько поработайте с цифрами соответствующими каждому сэмплу и эта проблема решится.
Однако приведенное выше решение является только теоретическим,Хранение, извлечение и маркировка данных такого масштаба — невыполнимая задача. К счастью, этого тоже не требуется. На самом деле, если каждый пиксель случайный, то изображение, которое мы получаем с большой долей вероятности, будет таким:
В этом огромном выборочном пространстве только очень малая доля приходится на числа. Определяем случайную величину X, тогда P(X=0)=?По идее, нам нужно посчитать количество картинок, которые вроде бы считаются 0, а затем разделить на. Однако получить этот номер невозможно.Итак, вопрос в том, какова вероятность того, что такая выборка будет случайным образом сгенерирована как число? Как насчет вероятности 0? Учитывая такую картинку, как вы можете определить, является ли это числом? Идем дальше, не так ли 0?
Мы можем захотеть написать какой-нибудь описательный код, например, иметь кольцо белых пикселей с черным посередине, чтобы изображение было 0. Однако программирование очень сложно. Как определить кольцо? Отсутствует пиксель и он отключен или это не 0?Где граница между 0 и не 0 разница между 1 пикселем? Правая часть от 0 расширяется до 9. Когда пикселей так много, какова разделительная линия между 0 и 9?
По сути, это проблема вероятности в большинстве реальных ситуаций, мы сталкиваемся с огромным пространством выборки, и нет возможности вычислить плотность вероятности каждой случайной величины с помощью простого текстового описания или расчетной формулы. Представьте, что вы сейчас учите неграмотного слепого человека читать, вы хотите объяснить ему, что такое 0 и что такое 1. Как вы собираетесь его учить? Я могу использовать только описательный метод, о котором я упоминал выше.Каков эффект обучения?
Когда мы учили числа в начальной школе, мы никогда их так не учили и не давали вам точного математического описания (на самом деле нет грубого языкового описания), какое написание 0, а какое написание 1 . Но учитель написал несколько примеров, а потом сказал вам, что это 0, а это 1. Потом тренируешься дома, пишешь сам и запоминаешь. Здесь мы по существу сэмплируем всю выборку цифры 0, а затем используем выборочную выборку для представления распределения вероятностей изображения цифры 0.
Эта идея обработки выборок как выборок из неизвестного распределения вероятностей очень полезна для понимания задач машинного обучения. Например, при обнаружении лица на случайной картинке какова вероятность того, что это лицо? Сколько фотографий будет лицом? Текстовое описание сложнее, математическая формула выражения невозможна, можно только партию образцов привести, а потом сказать, что вот так, это все человеческие лица. Это называется плотностью вероятности выборочного представления.
Эти содержания, по сути, тоже участвуют в школьной статистической выборке, дают партию нормально распределенных выборок, вычисляют ее среднюю дисперсию, а затем оценивают параметры этого нормального распределения. Однако в старших классах трудно понять, зачем и какой смысл это делать. На таком примере вы поймете, что большинство плотностей вероятности нельзя выразить математическими формулами с такими параметрами, как нормальное распределение, биномиальное распределение и т. д. Вы можете только делать выборку и использовать выборки для представления этого распределения вероятностей.
Вернемся к теме нашего распознавания чисел. Возможная идея такова, если число, которое нужно распознать, является не числом, а картинкой, подобной следующей:
Мы можем просто написать суждение: средняя половина белая, что равно 0, иначе это не так. Он может даже рассчитать точную вероятность, конечно, это немного выходит за рамки вероятностной математики средней школы.
Описанное выше, например, наличие круга белых пикселей с черным посередине или черным сверху и снизу и белым посередине является функцией машинного обучения. Некоторые функции более трудоемки для описания и даже не могут быть описаны на языке программирования; некоторые функции можно описать всего одной строкой кода. Последняя часть является базовой частью обычного машинного обучения, выполняя нелинейное сопоставление, чтобы сопоставить трудноописываемые образцы признаков с простой линией, которую можно разделить, например, следующая классическая сеть:
Так называемое глубокое обучение фактически помещает в модель часть преобразования признаков, которая ранее зависела от ручного наблюдения.Предыдущая часть описывает характеристики выборки. Следующая часть — это часть «навыков» обычных базовых руководств по машинному обучению, таких как CNN, объединение пулов, функции активации и т. д. Вы можете учиться самостоятельно.
статистическая языковая модель
У Да Лю когда-то был научно-фантастический роман под названием «Облако поэзии», в котором он рассказывал, что в месте со сверхразвитыми технологиями жил инопланетянин, который влюбился в стихи Ли Бая, поэтому он создал огромную базу данных для хранения всех возможных слов. для квадратных символов Комбинация превращает художественное творчество студентов гуманитарных наук в поиск больших данных для технических специалистов. Теоретически это действительно возможно, и, исходя из этой точки зрения, мы можем использовать аналогичные методы для создания облака живописи, музыкального облака и т. д.
Конечно, с нынешними технологиями наших землян, вышеуказанное решение не может быть достигнуто, мы можем только использовать аналогичную идею, что и приведенные выше рукописные числа, для решения задачи с вероятностью после выборки. В случае с естественным языком возникает вопрос: какова вероятность того, что последовательность из десяти слов является предложением, понятным людям?
С точки зрения статистических методов это несложно.Предполагая, что это китайский язык, там 3000 слов, поэтому общая сумма равнаВероятно, сколько предложений? Ответ - никакой статистики. Что касается использования правил для описания того, что представляет собой предложение, люди когда-то тратили много времени и энергии, пытаясь определить предложения на основе правил.
Усилиями лингвистов и специалистов по компьютерам в конце концов были получены тысячи правил.Вся система была чрезвычайно сложной, но эффект не был идеальным до появления языковых моделей, основанных на статистике.
С точки зрения статистической языковой модели, мы больше не утруждаем себя изучением описания предложений, а получаем набор образцов предложений (его легче получить, просто ищите статьи, написанные людьми), а затем используем этот набор образцов для описывать людей Вероятностное распределение естественного языка вместо того, чтобы описываться правилами, с тех пор открыло новую главу в понимании естественного языка.
Предположим, что S представляет некоторое осмысленное предложение, состоящее из последовательности слов в определенном порядке.композиция, где n — длина предложения. Теперь мы хотим знать вероятность появления S в тексте, то есть вероятность P(S) S, тогда.
Используя формулу условной вероятности:
Таким образом, эту вероятность можно подсчитать, но на самом деле ее по-прежнему трудно подсчитать, поэтому делается допущение: каждое слово связано только с N словами перед ним, это модель N-грамм, предполагающая N= 2, поэтому новая формула такова:
Таким образом, при заданном тексте и простом подсчете можно получить указанную выше вероятность. Этот вывод является статистической характеристикой выборки, и затем вы можете выполнить некоторое нелинейное сопоставление с этой характеристикой, а затем подключиться к различным задачам на естественном языке, подобно вышеприведенному mnist, поэтому я не буду вдаваться в подробности.
Конечно, последняя языковая модель намного сложнее этой, и предположение о N-грамме тоже проблематично. Слово может быть связано с другим словом, которое далеко от него. Для ее решения нужна более сложная модель. , но идея одна и та же. Все они используют образцы предложений для представления распределения вероятностей, затем выполняют различные преобразования признаков образцов и, наконец, получают доступ к различным задачам понимания естественного языка.
Суммировать
Есть много различных применений этой точки зрения, например, произведения Моцарта, упомянутые выше, мы также можем использовать аналогичную идею: собрать все произведения Моцарта, сделать преобразование признаков, а затем сделать некоторые очень интересные вещи, такие как задачи классификации— — Чтобы определить, принадлежит произведение Моцарту или нет. Вы также можете использовать генеративную модель, такую как GAN, которая, по сути, выполняет преобразование распределения вероятностей, то есть преобразует случайную равномерно распределенную или нормально распределенную выборку в распределение вероятностного пространства, где находится мелодия Моцарта, поэтому введите Случайный шум, создание мелодий Моцарта.
Подобные идеи также можно использовать для написания стихов, куплетов, картин и так далее. Они похожи, если вы понимаете вопрос плотности вероятности, представленной пространством выборки. Это можно понимать как «Дао» машинного обучения.Что касается того, как это сделать, как спроектировать модель и какие параметры нужно настроить, это только техническая проблема.