Рубрики
Без рубрики

Переменный компромисмент смещения – понимание концепций

Для оценки производительности модели необходимо, чтобы мы знаем о прогнозных ошибках в основном – предвзятость и дисперсию. Переменный компромисмент Bias очень важен

Автор оригинала: Pankaj Kumar.

Переменный компромисмент смещения – понимание концепций

Для оценки производительности модели необходимо, чтобы мы знаем о прогнозных ошибках в основном – предвзятость и дисперсию. Переменная смещения Tradeoff очень важная концепция в машинном обучении.

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

В этой статье мы поймем эту необходимую концепцию.

Что такое смещение?

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

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

Чтобы понять предвзятость, давайте посмотрим на рисунок ниже:

Высокая смещение

Очень ясно, что на рисунке выше, что модель или линия не соответствовали данным хорошо, это отлично называется как Подзадание Отказ Это пример с высокой смещением в качестве разницы между фактическим значением (синие точки данных) и прогнозируемые значения (красная линия) высока.

Это всегда приводит к высокой ошибке на тренировках и тестовых данных.

Что такое дисперсия?

Дисперсия – это изменчивость моделей прогнозирования для данной точки данных, которая говорит нам распространение наших данных. Так что выглядит высокая дисперсия?

Высокая дисперсия

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

Такие модели будут очень хорошо работать на тренировках, но имеют высокие скорости ошибок по тестовым данным.

Это известно как переоборудование Отказ

Какая общая ошибка?

Удобство и дисперсия дается:

  • Смещение [f ‘(x)] [f’ (x) – f (x)]
  • Дисперсия [ f ‘(x) ] [X ^ 2] -e [x] ^ 2

где f (x) – это настоящее значение, а F ‘(X) – это наша функция модели для прогнозирования значений, близких к F (x)

Единственным важным моментом, чтобы заметить здесь, является то, что общая ошибка в модели состоит из трех элементов.

Всего + дисперсия + неприводимая ошибка

Общая ошибка – это сумма смещения², дисперсия и неприводимая ошибка.

Здесь неприводимая ошибка – ошибка, которая не может быть уменьшена. Это присущий шум в наших данных. Но мы, безусловно, можем иметь контроль над количеством смещения и дисперсии, которую может иметь модель.

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

Общая ошибка

Теперь, что такое дисперсия против смещения?

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

Таким образом, компромисформа Bias Prance подразумевает, что между моделей и дисперсом должен быть подходящий баланс, чтобы общая ошибка минимизирована без переоценки и недостаточности данных.

Оптимальный баланс

Оптимальный баланс между смещением и дисперсией никогда не приведет к чрезмерному преобразованию или недостаточному заказу.

Пример переменных смещений в Python

Давайте посмотрим, как мы сможем рассчитать смещение и дисперсию модели. Запустите эту строку в командной строке, чтобы получить пакет.

pip install mlxtend

Вы можете скачать набор данных, используемый в этом примере здесь (Имя файла – balce.csv).

Давайте посмотрим, как мы можем определить смещение и дисперсию модели с использованием библиотеки MLXTEND.

#Importing the required modules
from mlxtend.evaluate import bias_variance_decomp
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
from sklearn.metrics import mean_squared_error
import pandas as pd
import numpy as np

#Reading the dataset
df = pd.read_csv('score.csv')

x = np.array(df.Hours).reshape(-1,1)
y = np.array(df.Scores).reshape(-1,1)

#Splitting the dataset into train and test set
x_train,x_test, y_train, y_test = train_test_split(x,y, test_size = 0.4 , random_state = 0)

#Making the model
regressor = DecisionTreeRegressor(max_depth = 1)

#Fitting the data to the model
regressor.fit(x_train,y_train)

#Calculating Bias and Variance 
avg_expected_loss, avg_bias, avg_var = bias_variance_decomp(
        regressor, x_train, y_train, x_test, y_test, 
        loss='mse',
        random_seed=1)

#Plotting the results
x= np.linspace(min(x_train) , max(x_train), 100)
plt.plot(x, regressor.predict(x))
plt.scatter(x_train , y_train , color = 'red')
plt.xlabel('Hours')
plt.ylabel('Score')
plt.title('Model with a High Bias')

print('average Bias: ',avg_bias)
print('average Variance: ',avg_var)

average Bias:  10455.986051700678
average Variance:  61.150793197489904
Модель с высокой смещением

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

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

Заключение

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

Счастливое обучение