Роль оценки в машинном обучении и статистике
Алгоритмы машинного обучения, особенно контролируемого типа, часто влекут за собой форму подбора кривой или аппроксимации функции, где цель состоит в том, чтобы найти наилучшую функцию, которая фиксирует базовый шаблон или взаимосвязь в данном наборе данных. Мера «наилучшей» функции часто определяется процессом, называемым оценкой, когда мы количественно оцениваем, насколько хорошо функция соответствует данным, оптимизируя параметры функции для набора данных. Оценка максимального правдоподобия (MLE) является одним из основных методов оценки, который обеспечивает систематический подход к оценке параметров функции с помощью аналитических или численных процессов оптимизации. Любой процесс математической оптимизации, который корректирует значения параметров таким образом, чтобы статистическая модель «наилучшим образом соответствовала» набору данных, происходит в соответствии с каким-либо критерием, таким как максимизация или минимизация. А для MLE критерием является нахождение тех параметров, которые «максимизируют функцию правдоподобия».
Но что имеется в виду, когда мы говорим найти те параметры, которые «максимизируют функцию правдоподобия»?
В науке о данных и машинном обучении мы используем статистическую модель и лежащую в ее основе математическую основу для представления случайного процесса в реальном мире. И поведение этой статистической модели обычно зависит от ряда параметров, которые могут варьироваться. Например, если мы предполагаем, что данный набор данных следует нормальному или гауссовскому распределению, то поведение модели описывается двумя параметрами: средним значением и дисперсией. И разные значения среднего и дисперсии дали бы нам разные «распределения Гаусса» (мы изучим формулу Гаусса и ее параметры, когда перейдем к математической части).
Теперь давайте рассмотрим концепцию вероятности. Учитывая конкретный набор данных и конкретную модель, «вероятность» параметров измеряет, насколько «вероятно» или насколько «вероятно» наблюдать наши данные для выбранной модели и значения параметров. И когда мы выполняем оценку максимального правдоподобия (MLE), наша цель — найти значения параметров, которые делают наблюдаемые данные «высоковероятными». Мы делаем это, корректируя параметры, пока не достигнем точки, в которой вероятность наблюдаемых данных максимальна. Для модели Гаусса это подразумевает нахождение среднего значения и значения дисперсии модели. Процесс максимизации включает в себя методы исчисления, а также различные типы сложных численных оптимизаций (мы рассмотрим это подробнее, когда перейдем к математической части).
Четкое понимание концепции оценки, и особенно оценки максимального правдоподобия, имеет решающее значение для понимания основ машинного обучения, поскольку эти принципы сообщают нам о том, как модели учатся на основе данных, как они делают прогнозы и, в конечном итоге, насколько хорошо они работают. В свою очередь, это существенно помогает нам сделать лучший выбор в отношении выбора модели, обучения и оценки.
Демонстрация оценки максимального правдоподобия в наборе данных IRIS
В этой демонстрации мы будем работать с набором данных о цветке ириса, популярным выбором в области машинного обучения и статистики для иллюстрации фундаментальных концепций, таких как оценка максимального правдоподобия, благодаря простоте, но содержательным характеристикам этого набора данных. Набор данных состоит из 150 образцов каждого из трех видов цветков ириса (Iris Setosa, Iris Virginica и Iris Versicolor). У каждого образца измеряли четыре признака: длину и ширину чашелистиков и лепестков.
Наша основная цель здесь — изучить концепцию оценки максимального правдоподобия (MLE) и в процессе продемонстрировать систематический подход к оценке параметров статистической модели. Поэтому для простоты и удобства визуализации мы сосредоточимся только на одном характеризовать и ограничить наш анализ только одним видом цветка ириса, чтобы установить фундаментальное понимание концепций.
Из визуального наблюдения мы сначала идентифицировали бы атрибут конкретного вида, который в достаточной степени соответствует распределению Гаусса, поскольку это распределение очень хорошо изучено и обладает известными свойствами, как мы обсуждали ранее. Мы также знаем, что параметры распределения Гаусса имеют прямое, «закрытое» (т.е. аналитическое) решение для оценок максимального правдоподобия, что делает его подходящим выбором.
Для демонстрации мы сначала нарисуем парный график в наборе данных «IRIS», чтобы визуально изучить отношения между переменными, а также распределение каждой переменной.
Код Python ::
import seaborn as sns import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm # Load the Iris dataset iris = sns.load_dataset('iris') # Create a pairplot sns.pairplot(iris, hue="species", palette="Set1") # Show the plot plt.show()
На парном графике каждый диагональный график показывает распределение одной переменной (т. е. трех видов), в то время как остальные графики показывают отношения между парами переменных (т. е. парами атрибутов для каждого из этих трех видов). Эти графики могут дать нам некоторое представление о том, какие переменные следуют распределению Гаусса и могут быть хорошими кандидатами для оценки с использованием MLE. Например, на графике мы видим, что существуют различные степени перекрытия для данных Versicolor и Virginica практически по всем атрибутам, делающим любой индивидуальный атрибут для этих двух видов менее отличительный (это означает, что некоторые значения атрибута могут принадлежать любому классу и их трудно разделить). Между параметрами длины лепестка и ширины лепестка распределение сетозы в обоих случаях весьма различно. Однако в случае ширины лепестка распределение Setosa не так велико по Гауссу, как в случае длины лепестка. Таким образом, на основе визуального наблюдения мы можем решить сосредоточить наше моделирование на длине лепестка Setosa для демонстрационных целей и перейти к использованию MLE. оценить параметры.
P.S. сделанные здесь предположения, как и предположение о нормальном распределении, предназначены для упрощения нашего примера. Реальные данные часто отклоняются от идеализированных распределений, и выбор модели часто делается на основе как данных, так и поставленной задачи.
Код Python::
# X contains the features of the IRIS flowers X = iris.drop('species', axis=1) # Y contains the class labels Y = iris['species'] #Focusing on the petal length of the Iris Setosa class setosa_petal_length = X[Y == 'setosa']['petal_length'] # Calculate MLE for mean and variance mu_mle = np.mean(setosa_petal_length) sigma_sq_mle = np.var(setosa_petal_length) print(f"MLE for Mean (mu): {mu_mle}") print(f"MLE for Variance (sigma²): {sigma_sq_mle}") # Now we'll create a histogram of the data and plot the Gaussian distribution with the MLE parameters # Plot histogram of the data plt.hist(setosa_petal_length, bins=10, density=True, alpha=0.6, color='g') # Create a sequence of numbers from min to max (for x-axis) xmin, xmax = plt.xlim() x = np.linspace(xmin, xmax, 100) # Generate the pdf (normal distribution with mu, sigma) p = norm.pdf(x, mu_mle, np.sqrt(sigma_sq_mle)) # Plot the PDF plt.plot(x, p, 'k', linewidth=2) title = "Fit results: Mean = %.2f, Variance = %.2f" % (mu_mle, sigma_sq_mle) plt.title(title) plt.show()
Выше мы вычислили оценки максимального правдоподобия (MLE), которые представляют собой значения среднего и дисперсии гауссова. Эти значения параметров делают наблюдаемые данные «высоковероятными» в рамках предполагаемой модели распределения Гаусса. На графике показана гистограмма длин лепестков «Сетозы» и лежащего в их основе распределения. Наложенная сплошная линия на гистограмме — это наша модель Гаусса (PDF), расчетные значения параметров которой (среднее значение и дисперсия) указаны вверху. Таким образом, график эффективно показывает «подгонку» нашей модели Гаусса к данному набору данных.
Это демонстрирует применение MLE к реальным данным для оценки параметров статистической модели. Подгоняя распределение Гаусса к наблюдаемым данным, мы получаем вероятностную модель длины лепестков ириса «Сетоза». Затем эту модель можно использовать для создания новых данных о длине лепестков, которые следуют тому же распределению, или для классификации новых наблюдений как «сетоза» или «не сетоза» на основе их длины лепестка.
Затем мы углубимся в этот процесс вместе с базовой математикой и объясним математику на простом английском языке, чтобы дать нам четкое представление о внутренней работе MLE. Сначала давайте посмотрим на выражение для функции распределения вероятности Гаусса (PDF), которая определена как::
Функция описывает вероятность получения одного наблюдения x при заданных параметрах μ (среднее значение) и σ² (дисперсия). Но в случае «функции правдоподобия» для нашего набора данных мы пытаемся найти вероятность набора наблюдений (x_1,x_2…,x_n), учитывая те же параметры (т.е. μ и σ²) и это может быть выражено как L(μ,σ²|x_1,x_2…,x_n). Эта функция правдоподобия в основном должна вычислять совместную вероятность наблюдения всех точек данных в нашем наборе данных при определенном распределении Гаусса. Таким образом, в таких случаях выражение функции будет выглядеть как ::
Интерпретация этой функции достаточно проста. По сути, это поиск гауссовых значений для каждой точки данных с использованием формулы гауссовского PDF (f(x|μ,σ²)), которую мы видели выше, а затем умножение значений для каждой точки данных (греческий символ пи используется для выражения умножения функции на i-е время, где в данном случае i находится в диапазоне от 1 до n). Мы могли бы показать это функциональное выражение в более сложной, но простой форме терминов продукта. И в этом случае функция будет выглядеть как ::
Однако в реальном времени для упрощения вычислений мы часто используем отрицательный логарифм функции, поскольку в ней есть продукты, которые могут привести к тому, что окончательный результат станет очень маленьким и создаст недополнение в компьютерной программе, что происходит при работе с меньшими значениями. число, чем компьютер может фактически хранить в памяти из-за своих специфических ограничений. Отрицательный логарифм функции преобразует «произведение правдоподобия» в «сумму логарифмических правдоподобий», делая функцию численно более удобной. Для справки, это логарифмическое преобразование также может помочь преобразовать невыпуклую задачу оптимизации в выпуклую, в свою очередь упрощает процесс оптимизации. Но понимание деталей этого процесса не имеет решающего значения для нашей демонстрации MLE.
После некоторого упрощения окончательная форма отрицательной логарифмической функции правдоподобия выглядит как::
Взяв частные производные этой отрицательной логарифмической функции по μ и σ², установив их равными нулю, потому что в нуле производная функции максимальна (или минимальна), и, наконец, решение функции дает нам параметр максимального правдоподобия ( μ_MLE, σ²_MLE) оценки для распределения Гаусса. Параметры μ_MLE, σ²_MLE в итоге выглядят так:
Это может быть неочевидно, но в этом закрытом решении мы неявно оптимизируем функцию потерь. На самом деле мы здесь минимизируем функцию «отрицательного логарифмического правдоподобия» (т. е. функцию потерь), другими словами, максимизируем функцию «правдоподобия» с помощью процесса оптимизации (т. е. вычисления частных производных).
Процесс нахождения оценки максимального правдоподобия (MLE) также можно интерпретировать как попытку минимизировать расхождение KL (Kullback-Leibler). Дивергенция KL измеряет несоответствие между истинным распределением вероятностей и предполагаемым распределением вероятностей. В нашей демонстрации MLE, которая отражает реальные сценарии машинного обучения, мы обычно не знаем истинного распределения населения, из которого поступают наши данные, у нас есть только образцы из этого распределения. И из-за этого мы не можем напрямую вычислить расхождение KL между нашей моделью и истинным распределением. Тем не менее, когда мы находим параметры, которые максимизируют вероятность наших данных, мы также находим параметры, которые делают нашу модель максимально «близкой» к истинному распределению. Это означает, что те значения параметров, которые максимизируют вероятность, также минимизируют расхождение KL, если бы мы могли его вычислить.
Хотя это решение в закрытой форме часто более эффективно с точки зрения вычислений, не все модели или дистрибутивы имеют решения в закрытой форме для своих MLE в реальных приложениях. Поэтому мы часто прибегаем к численным итеративным методам оптимизации, таким как градиентный спуск, метод, часто используемый как в машинном обучении, так и в статистике для итеративного поиска параметров. В процессе численной оптимизации мы должны явно определить функцию потерь (аналогично упомянутому выше отрицательному логарифмическому правдоподобию) и алгоритм оптимизации для минимизации функции потерь. Глубокое понимание различных функций потерь и оптимизаций имеет решающее значение для создания прочной основы в машинном обучении и науке о данных.