拟合分类
应对方法
正则化
缓解过拟合的有效方法
分为 L1 正则化 和 L2正则化
L1 正则化 :导致 部分参数 变为了0,是通过减少参数的数据,来降低复杂度。
L2正则化: 让 参数很接近 0, 但是不等于0, L2 可以减少参数的 大小,降低复杂度。
正则化部分的代码:
输入 x1 ,x2 和 标签y的函数关系
生成网格覆盖这些点
红色表示 y为1的点,蓝色表示y为0的点。
将输出为0.5的线标记出来,这条线就是0和1的区分线了。
代码部分:
搭建网络: 两层
第一层网络: 输入2,输出11
第二层网络:输入11,输出1
第二层网络的输入,就是第一层网络的输出。
输出节点个数要和 标签个数 保持一致。
定义超参数
训练模型
epoch对整个数据的循环计数
step对batch小循环进行循环计数
生成网格坐标点
xx 范围 -3 到 3
yy范围 -3 到 3
步长 0.1
将生成的每个网格点,送入到模型进行预测,生成输出结果, probs为输出。
绘制散点图
plt.contour(xx,yy,probs,levels=[.5])
画出预测值为0.5的取消
拓展:
plt.contour
这个函数主要对网格中每个点的值等于一系列值的时候做出一条条轮廓线,类似于等高线 。
contour([X, Y,] Z, [levels], ** kwargs)
绘制轮廓曲线