第二周作业:二分类问题

通过训练一个数据集,来分析图片中是否有猫。

参考视频:https://space.bilibili.com/49109393/channel/detail?cid=36482&ctype=0
参考博客:https://blog.csdn.net/u013733326/article/details/79639509

  1. 导入数据集在这里插入图片描述
  2. 遍历训练集和测试集的key,查看key的维度。图中list_classes是图片标签,train_set_x:保存的是训练集里面的图像数据(本训练集有209张64x64的图像)。train_set_y :保存的是训练集的图像对应的分类值(【0 | 1】,0表示不是猫,1表示是猫)在这里插入图片描述
  3. 取出训练集和测试集,查看一张训练集的图片在这里插入图片描述
  4. 数据维度的处理,把矩阵都转化为我们需要的形式在这里插入图片描述
  5. 标准化数据在这里插入图片描述
  6. 回顾一下公式在这里插入图片描述
  7. 定义sigmoid函数、前向传播函数、代价函数以及梯度下降并初始化参数在这里插入图片描述
  8. 优化部分 alpha:学习速率,n_iters:迭代次数在这里插入图片描述
  9. 预测部分在这里插入图片描述
  10. 模型整合在这里插入图片描述
  11. 调用函数,每100次打印出来一次,打印训练集和测试集的预测成功率在这里插入图片描述
  12. 损失函数作图在这里插入图片描述
  13. 随机从训练集抽一个图片,看是否预测成功,没有预测成功,这个图确实很不好预测在这里插入图片描述
  14. 不同alpha值的比较在这里插入图片描述
  15. 随机预测新图片在这里插入图片描述

可以看到预测失败了,原因我感觉主要有这几个方面:
1.尺寸变换后图片压缩的跟图片本身不像了。
2.简单的逻辑回归的预测效果不是很好,预测成功率有待提高。
3.训练集的数量太少。
4.预测方法不好,y>0.5即认为是猫。

后面会学到多层的神经网络,据说效果会有提升。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐