热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

卷积神经网络02(线性模型、穷举法)

步骤:1数据集2模型选择(根据数据集的情况进行选择)3训练(knn等)大部分都需要training4推理训练好以后对以后的预测和应用输入x预测y以上监督学习训练好了

步骤:
1 数据集

2 模型选择(根据数据集的情况进行选择)

3 训练(knn等)大部分都需要training

4 推理

在这里插入图片描述
加粗样式
训练好以后对以后的预测和应用
输入 x
预测 y
以上监督学习
训练好了以后需要测试集进行评估
随机猜测(对于权重可以使用随机猜测进行)
在这里插入图片描述
平均损失,可以看到当预测是3,6,9的时候,平均损失是14/3。
因此为了得到比较好的模型,更好的反应理想分布,这个时候就要找最小的损失。
另外,为什么要使用平方了,为了防止误差有负数,相互抵消了。
在这里插入图片描述
MSE(Mean Square Error)
在这里插入图片描述
综上可知,为了解决这个问题,就要找到这样的预测权重值,使得误差最小,这就是我们要求取的权重值。
初中学数学的时候,为了验证,我们采用穷举法,就是尽可能多的列举数据,去验证和计算。
在这里插入图片描述

# 1 导入所需要的库
import numpy as np
import matplotlib.pyplot as plt# 2 创建或者导入数据集
x_data = [1.0,2.0,3.0]
y_data = [2.0,4.0,6.0]# 3 前向传播
def forward(x):return x * w# 4 loss计算
def loss(x,y):y_pred = forward(x)return (y_pred - y) * (y_pred - y)# 5 定义两个列表用于接收权重和误差
w_list = []
mse_list = []# 6 穷举进行操作,从0.0,-4.0间隔0.1进行取值
for w in np.arange(0.0,4.1,0.1):print("w=",w)l_sum = 0for x_val,y_val in zip(x_data,y_data):y_pred_val = forward(x_val)loss_val = loss(x_val,y_val)l_sum += loss_valprint('\t',x_val,y_val,y_pred_val,loss_val)print('MSE=',l_sum/3)# 7 将权重和误差放入新建的列表中,用于输出绘图使用w_list.append(w)mse_list.append(l_sum/3)l_sum_min = min(mse_list)print(l_sum_min)# 8可视化绘图,将第7步保存的权重和误差用绘图的形式,绘制出来
plt.plot(w_list,mse_list,c='g')
plt.ylabel('loss')
plt.xlabel('w')
plt.show()# 9总结:正常情况下,不使用w作为可视化的横坐标,而是使用epoch当做横坐标,通过迭代进行。

在这里插入图片描述
w= 4.0
1.0 2.0 4.0 4.0
2.0 4.0 8.0 16.0
3.0 6.0 12.0 36.0
MSE= 18.666666666666668
0.0
上面每一步的作用我都有注释,有助于各位理解。

学习心得
概括一下就是,学习深度学习的时候,无非就是下面几步
1 准备数据集(生成或者导入)

2 根据数据的情况构建模型

3 定义前向传播和反向传播

4 代入训练模型

5 可视化训练结果

注意:后面学习的是通过epoch作为横坐标,本实验用的是w(权重)作为横坐标,是不一样的,因为在训练的时候,如果模型比较负责,权重就不会是线性的,可能是一个平面的。因此后面就会通过训练的轮数作为训练的结果可视化的横坐标,这样就可以根据每一轮训练的损失作为纵坐标,从而进行展示。


推荐阅读
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
author-avatar
郭原雪2865
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有