看图理解过拟合与欠拟合
欠拟合解决方法
-
增加输入特征项
-
增加网络参数
-
减少正则化参数
过拟合解决方法
-
数据清洗
-
增大训练集
-
采用正则化
-
增大正则化参数
案例
import tensorflow as tf
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
###正则化缓解过拟合
# 正则化在损失函数中引入模型复杂度指标,利用给W加权值,弱化训练数据的噪声(一般不正则化b)
# 正则化的选择
# L1正则化大概率会使很多参数变为0,因此该方法可通过稀疏参数,即加少参数的数量,降低复杂度
# L2正则化会使参数很接近0但不为0,因此该方法可通过减小参数值的大小降低复杂度
###读入数据
df = pd.read_csv("dot.csv")
x_data = np.array(df[['x1', 'x2']])
y_data = np.array(df['y_c'])
##-1的意思是行数自动生成
x_train = np.vstack(x_data).reshape(-1, 2)
y_train = np.vstack(y_data).reshape(-1, 1)