图像处理与计算机视觉--第七章-神经网络-单层感知器

这篇具有很好参考价值的文章主要介绍了图像处理与计算机视觉--第七章-神经网络-单层感知器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.单层感知器原理介绍

    1.单层感知器是感知器中最简单的一种,有单个神经元组成的单层感知器只能用于解决线性可分的二分性问题
    2.在空间中如果输入的数据是可分的,感知器相当于将输入的数据在空间中分为两类,已经证明,如果线性可分则算法一定收敛。
    3.单层感知器是指只有一层处理单元的感知器,其中输入层没有处理数据的能力,输入层有n个神经元结点,每个结点接受一个输入信号xi,输入层与输出层之前
      有权重w,将每个结点组成的输入矩阵和权值矩阵相乘,得到一个数,将这个数作为净输入传递给神经元细胞,再将净输入代入神经元细胞的激活函数中,并且在
      神经元中还有一个外部偏置b,激活函数在这里一般采用符号函数,然后输出一个数。

  下图是一个简单的感知器模型图:

             图像处理与计算机视觉--第七章-神经网络-单层感知器,计算机视觉,图像处理,计算机视觉,神经网络
  在输出层的每一个节点上接受来自输入层的加权和作为输出层的净输入如下所示:
n e t j ′ = ∑ i = 1 n w i j x i \mathrm{net}_{j}^{\prime}=\sum_{i=1}^{n}w_{ij}x_{i} netj=i=1nwijxi
输出的值由激活函数决定:
y = s g n ( ∑ i = 1 N ω i x i + b ) y=\mathrm{sgn}\Bigg(\sum_{i=1}^N\omega_ix_i+b\Bigg) y=sgn(i=1Nωixi+b)

2.单层感知器算法流程

  单层感知器算法的流程如下所示:
图像处理与计算机视觉--第七章-神经网络-单层感知器,计算机视觉,图像处理,计算机视觉,神经网络

算法注意事项:
1.L1为一类,L2为另一类,单层感知器只能解决二分类的一般问题。
2.beta表示学习率,它的值决定了误差对权值的影响大小,值不应该过大,以便为输入向量提供一个比较稳定的权值估计;值也不能过小,
3.收敛终止条件:
   1.当权值向量已经能正确实现分类时,算法就收敛终止。
   2.计算时收敛条件通常是:
         (1)理想值和计算得出的值得差小于一个提前的误差阈值。
         (2)权值两次变化的值小于一个提前设定的误差阈值。
         (3)设定一个最大迭代数M,达到这个值,即使没有完成,也必须收敛。

3.单层感知器算法实现

"""
@单层感知器的实现
created by ZhongYan Zeng
2023/10/9/14/09
"""
#单层感知器
import numpy as np
import matplotlib.pyplot as plt
# 支持中文
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
#2.更新函数
def update_weight(X,Y,W,beta,iteration):
    iteration=iteration+1
    y=np.dot(X,W)
    result_sgn=np.sign(y)
    w_delta=beta*((Y-result_sgn).dot(X))
    W=W+w_delta
    return W,iteration
#3.迭代求解过程
def sovle_iteration(X,d,w,beta,iteration,iteration_max):
    for i in range(iteration_max):
        w,iteration=update_weight(X,d,w,beta,iteration)
        print(w)
        print(iteration)
        result=np.sign(np.dot(X,w))
        if(result==d).all():
            print("完成")
            print("迭代次数:",iteration)
            break
    return w,iteration
def draw_picture(w,iteration):
    k=-w[1]/w[2]
    b=-w[0]/w[2]
    print("斜率k=",k)
    print("截距b=",b)
    print("线性表达式:y={:.2f}x+{:.2f}".format(k,b))
    k=round(k,2)
    b=round(b,2)
    #可视化绘图
    x=[2,4,5]
    y=[3,3,8]
    fun_x=np.linspace(0,9,100)
    fun_y=k*fun_x+b
    plt.plot(fun_x,fun_y,color='r',label='y=1.{}x+{}'.format(k,b))
    plt.scatter(x[0:2],y[0:2],color='b')
    plt.scatter(x[2],y[2],color='y')
    plt.xlim(0,9)
    plt.ylim(0,15)
    plt.legend()
    plt.title("单层感知器分类结果图")
    plt.show()

if __name__=='__main__':
    #1.定义参数和变量
    X=np.array([[1,2,3],[1,4,3],[1,5,8]])#第一项为偏置项1
    d=np.array([1,1,-1])#期望感知器分类结果
    beta=0.1#学习率为0.1
    iteration=0#迭代次数为0
    w=(np.random.random(3)-0.5)*2
    iteration_max=100
    w,iteration=sovle_iteration(X,d,w,beta,iteration,iteration_max)
    draw_picture(w,iteration)

4.单层感知器效果展示

                     图像处理与计算机视觉--第七章-神经网络-单层感知器,计算机视觉,图像处理,计算机视觉,神经网络
图像处理与计算机视觉--第七章-神经网络-单层感知器,计算机视觉,图像处理,计算机视觉,神经网络文章来源地址https://www.toymoban.com/news/detail-740047.html

5.参考文章与致谢

本章内容的完成离不开大佬文章的启发和帮助,在这里列出名单,如果对于内容还有不懂的,可以移步对应的文章进行进一步的理解分析。
1.单层感知器以及python实现:https://blog.csdn.net/qq_42633819/article/details/81588084
如果大家这这篇blog中有什么不明白的可以去他的专栏里面看看,内容非常全面,应该能够有比较好的解答。
在文章的最后再次表达由衷的感谢!!

到了这里,关于图像处理与计算机视觉--第七章-神经网络-单层感知器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图像处理与计算机视觉算法

    图像处理与计算机视觉算法是实现对图像和视频内容分析、理解和操作的一系列技术。这些算法可以分为多个类别,包括但不限于以下几个主要方面: 预处理 : 像素操作:灰度化、二值化、直方图均衡化等,用于改善图像的对比度和亮度分布。 去噪:高斯滤波、中值滤波、

    2024年02月22日
    浏览(39)
  • 计算机视觉(2)——图像预处理

    二、图像预处理 2.1 介绍  2.2 特征提取方法 2.2.1 直方图 2.2.2 CLAHE 2.2.3 形态学运算 2.2.4 空间域处理及其变换 2.2.5 空间域分析及变换  (1) 均值滤波 (2)中值滤波 (3)高斯滤波 (4) 梯度Prewitt滤波 (5) 梯度Sobel滤波 (6) 梯度Laplacian滤波 (7) 其他滤波  2.2.6 频域分

    2024年02月03日
    浏览(49)
  • 图像处理/计算机视觉期刊投稿经验

    我不配,以后有机会再说吧。 我也不配,以后有机会再说吧。 2022年投过,一个月之后被编辑immediate reject, 原因是“the scope not aligning well with the theme interest and/or desired genres of TSP”。在邮件的末尾,编辑表示manuscript的选题“well motivated”并且“interesting”,主要担忧是所用到的

    2024年02月08日
    浏览(44)
  • 计算机视觉图像处理常用方法汇总

    光线进入眼睛:当光线从一个物体反射或散射出来,进入人的眼睛时,它们通过角膜和晶状体进入眼球内部。 聚焦光线:角膜和晶状体将光线聚焦在视网膜上。晶状体可以通过调整其形状来调节聚焦距离,使物体的图像清晰地映射在视网膜上。 光敏细胞感受光线:视网膜是

    2024年02月07日
    浏览(37)
  • 机器视觉、图像处理和计算机视觉:概念和区别

    机器视觉、图像处理和计算机视觉:概念和区别nbsp; 机器视觉、图像处理和计算机视觉是相关但有区别的概念。 机器视觉主要应用于工业领域,涉及图像感知、图像处理、控制理论和软硬件的结合,旨在实现高效的运动控制或实时操作。 图像处理是指利用计算机对图像进行

    2024年02月06日
    浏览(32)
  • 【计算机视觉】【图像处理综合应用】路沿检测

    实验内容: 针对给定的视频,利用图像处理基本方法实现道路路沿的检测; 提示:可利用 Hough 变换进行线检测,融合路沿的结构信息实现路沿边界定位(图中红色的点位置)。 处理视频文件 处理视频文件的主要流程如下: 读取视频 → 逐帧提取 → 路沿检测 → 逐帧保存

    2024年02月05日
    浏览(42)
  • 计算机视觉实验:图像处理综合-路沿检测

    目录 实验步骤与过程 1. 路沿检测方法设计 2. 路沿检测方法实现 2.1 视频图像提取 2.2 图像预处理 2.3 兴趣区域提取 2.4 边缘检测 ​​​​​​​2.5 Hough变换 ​​​​​​​2.6 线条过滤与图像输出 3. 路沿检测结果展示 4. 其他路沿检测方法 实验结论或体会 实验内容: 针对

    2024年02月14日
    浏览(34)
  • 图像处理与计算机视觉--第五章-图像分割-Canny算子

    2.1.Canny算子简单介绍 Canny算子是一种非常常用的边缘检测算子,其效果图如下所示: 2.2.Canny算子边缘检测指标 Canny算子是基于边缘检测来实现的,那么边缘检测的指标如下所示: (1)好的信噪比,即将非边缘点判定为边缘点的概率要低。 (2)高定位,检测出的边缘要在实际边缘中

    2024年02月07日
    浏览(41)
  • 利用C++进行图像处理与计算机视觉

    在C++中进行图像处理与计算机视觉是一个有趣且具有挑战性的任务。C++是一种高效的编程语言,能够提供足够的灵活性和性能,以处理复杂的图像处理和计算机视觉算法。在本文中,我们将介绍如何使用C++进行图像处理和计算机视觉,以及一些常见的技术和库。 图像处理基础

    2024年01月16日
    浏览(38)
  • 【OpenCV】计算机视觉图像处理基础知识

    目录 前言 推荐 1、OpenCV礼帽操作和黑帽操作 2、Sobel算子理论基础及实际操作 3、Scharr算子简介及相关操作 4、Sobel算子和Scharr算子的比较 5、laplacian算子简介及相关操作 6、Canny边缘检测的原理 6.1 去噪 6.2 梯度运算 6.3 非极大值抑制 6.4 滞后阈值 7、Canny边缘检测的函数及使用

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包