Предвзятость: что это такое и почему она важна
Bias, или смещение, является одним из ключевых параметров в машинном обучении. Этот термин относится к тому, насколько сильно модель склонна к «неправильным» предсказаниям, даже когда у нее есть доступ к большому количеству данных обучения.
Если мы рассмотрим пример, то у нас есть модель предсказывающая, является ли человек больным или здоровым. Если модель имеет высокий уровень смещения, то это значит, что она скорее всего будет предсказывать заболевание (или здоровье) всем пациентам, независимо от их реального состояния. Такая модель является неэффективной и недостаточно точной для использования в реальной жизни.
Чтобы снизить уровень смещения, необходимо использовать более сложные модели, включающие больше параметров и функций. Важно отметить, что снижение смещения может привести к увеличению дисперсии, что может привести к другим проблемам, таким как переобучение.
Пример кода, иллюстрирующий снижение уровня смещения:
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
import numpy as np
# Генерация случайных данных
X = np.random.rand(100, 1)
y = 2 * X + np.random.randn(100, 1)
# Создание линейной регрессии
lin_reg = LinearRegression()
# Обучение модели и подсчет MSE
lin_reg.fit(X, y)
y_pred = lin_reg.predict(X)
mse = mean_squared_error(y, y_pred)
print("MSE до скорректировки: ", mse)
# Добавление полиномиальных признаков
from sklearn.preprocessing import PolynomialFeatures
poly_features = PolynomialFeatures(degree=10, include_bias=False)
X_poly = poly_features.fit_transform(X)
lin_reg.fit(X_poly, y)
y_pred = lin_reg.predict(X_poly)
mse = mean_squared_error(y, y_pred)
print("MSE после скорректировки: ", mse)
Здесь мы использовали линейную регрессию для анализа данных и предсказания значений. Мы начали с обычной линейной модели, которая имела высокий уровень смещения из-за ограниченного количества признаков. Затем мы добавили полиномиальные признаки, чтобы увеличить сложность модели и снизить уровень смещения. В итоге мы получили модель с меньшим смещением и более точными прогнозами.