如何更好的拟合数据

拟合分类

在这里插入图片描述

应对方法

在这里插入图片描述

正则化

缓解过拟合的有效方法
分为 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)

绘制轮廓曲线
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值