深度学习Rosenblatt感知模型

简介: 深度学习Rosenblatt感知模型

1 Rosenblatt感知器模型介绍

1958年,一名叫做Rosenblatt的心理学家在McCulloch-Pitts模型的基础上提出了Rosenblatt感知器模型(第一个从算法上完整描述的神经元模型)。这个模型实现了神经元自主调整参数。


这个模型将标准答案与输出相减得到的预测与标准之间的误差,然后根据这个误差来调整权值。比如,让权值加上误差,再让相加结果作为新的权值。这就做到了预测结果过小的时候,误差为正数,权值加上误差之后向大调整,这样下次输入的结果就也会变大了,从而更加接近标准值;同样的,当预测结果过小的时候,误差为负数,权值加上误差之后向小调整,这样下次输入的结果就也会变小,从而也更加接近标准值。


由Rosenblatt感知器模型产生这样的思考:是否可以探寻研究出一种能够实时动态调整学习率的方法呢?


机器学习的本质是数学。意识是对客观世界的能动反映。我们常说世界可以被数学所表示,那么反映了客观世界的意识也应该同样隐含了数学的关系。根据这个指导思想,可以来研究各种各样的人工智能算法。


2 Rosenblatt感知器应用

Rosenblatt感知器,感知器也叫预测机


那么感知器有什么用呢?感知器可以拟合任何的线性函数,任何线性分类或线性回归问题都可以用感知器来解决。


使用python实现Rosenblatt感知器


pass:此次python实验的预测函数不含偏置项系数,所以函数图像过原点,只能拟合因果是成正比的数据或只能完成可被过原点的直线分类的数据


为了将“直观的直觉”转换为“现实认知”,在McCullon-Pitts模型的基础上,让神经元自己调整权值W。


a770f048b10a48acb54ff343a8a76c4a.png


3 Rosenblatt感知器流程

36060023b2514099802e88c265564e04.png



2d7fae8d06d94dd78d43d79e610bb4ba.png

3.1 模型的算法调整

1.根据一个输入得到 y,用 标准值 - y = 误差;


2.将 W1 = W1+误差,再执行 步骤1 ;


这便是Rosenblatt模型的学习过程。当然它还需要处理一下细节问题。


3.2 当输入X为负数时

当输入为负,如果仍然用(W = W+误差)来调整W,那么调整后的结果将会越来越远离我们的标准结果;所以我们引入了 W = W + X*误差;这样就巧妙得避免了这个问题;


3.3 当W调整过大时

W调整也是有变化幅度的,如果W的变化幅度过大,那么可能会使计算的结果在标准结果上来回跳跃;所以我们引入了 W = W + X * 误差 * alpha


4 线性回归问题应用

1.首先先引入需要用到的库

   import numpy
   from matplotlib import pypolt 

引入numpy数学库以方便我们的数学计算


引入matplotlib中的pyplot模块进行画图操作


numpy使用手册:NumPy 中文


matplotlib使用手册:Matplotlib 中文


2.获取数据以便进行训练

   def getdata(count):
       """获取指定数量的数据"""
       x = np.random.rand(count)#生成区间[0,1)的随机数
       x = np.sort(x)#进行从小到大排序
       y = [1.5*xx+np.random.rand()/3 for xx in x]#使用列表推导式生成对应的值
       return x,y

创建一个名为getdata的函数随机生成有共同特征的数据,有一个参数count来接收获取数据的数量


3.获取100个数据

   xs,ys = getdata(100)#获取100个数据

4.编写预测函数

   w = float("%.2f"%np.random.uniform(0,1))#随机生成权重参数
   alpha = 0.05#设置学习率
   y_predict =  w*xs#简单的预测函数

5.绘制图像以便我们观察

   plt.scatter(xs,ys)#绘制散点图
   plt.plot(xs,y_predict)#绘制预测函数的图像
   plt.show()#显示图像

6.算法的实现

   for i in range(100):#对每个数据进行一次权重调整
           x = xs[i]
           y = ys[i]
           #取出一个数据
           y_predict =  w*x#计算相应数据的预测值
           e = y - y_predict#计算相应数据的预测值与实际值的误差(使用差值评估误差)
           w = w + alpha*e*xs#根据误差调整权重参数
           y_predict = w * xs#重新配置预测函数

7.多次训练


why:因为学习率的存在,我们的预测函数只进行了一次在总体上的调整,无法完美的拟合。但是如果学习率设置太大会造成预测曲线不能收敛

   for _ in range(100):#进行100次训练
       for i in range(100):#对每个数据进行一次权重调整
           x = xs[i]
           y = ys[i]
           #取出一个数据
           y_predict =  w*x#计算相应数据的预测值
           e = y - y_predict#计算相应数据的预测值与实际值的误差(使用差值评估误差)
           w = w + alpha*e*xs#根据误差调整权重参数
           y_predict = w * xs#重新配置预测函数

8.再次画出预测曲线


   plt.plot(xs,y_predict)#绘制预测函数的图像
   plt.show()#显示图像

18125dbfa244fad83fad8362e423e5ba.png

可以看到完美的拟合了数据

目录
相关文章
|
8天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品加工优化的深度学习模型
使用Python实现智能食品加工优化的深度学习模型
102 59
|
3天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品市场预测的深度学习模型
使用Python实现智能食品市场预测的深度学习模型
21 5
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的Transformer模型
探索深度学习中的Transformer模型
10 1
|
5天前
|
机器学习/深度学习 算法 开发者
探索深度学习中的优化器选择对模型性能的影响
在深度学习领域,优化器的选择对于模型训练的效果具有决定性作用。本文通过对比分析不同优化器的工作原理及其在实际应用中的表现,探讨了如何根据具体任务选择合适的优化器以提高模型性能。文章首先概述了几种常见的优化算法,包括梯度下降法、随机梯度下降法(SGD)、动量法、AdaGrad、RMSProp和Adam等;然后,通过实验验证了这些优化器在不同数据集上训练神经网络时的效率与准确性差异;最后,提出了一些基于经验的规则帮助开发者更好地做出选择。
|
5天前
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
16 2
|
4天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
19 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
4天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
20 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
9天前
|
机器学习/深度学习 数据采集 数据库
使用Python实现智能食品营养分析的深度学习模型
使用Python实现智能食品营养分析的深度学习模型
35 6
|
6天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品储存管理的深度学习模型
使用Python实现智能食品储存管理的深度学习模型
20 2
|
7天前
|
机器学习/深度学习 算法
深度学习中的模型优化策略
【10月更文挑战第35天】在深度学习的海洋中,模型优化是那把能够引领我们抵达知识彼岸的桨。本文将从梯度下降法出发,逐步深入到动量、自适应学习率等高级技巧,最后通过一个实际代码案例,展示如何应用这些策略以提升模型性能。

热门文章

最新文章