首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HALCON高级篇:MLP理论

多层感知机(MLP)

神经网络直接决定类之间的分割超平面。对于两个类,超平面实际分割是两个类的超平面,例如位于平面一面的特征向量被分为类别1,位于平面另一面的特征向量被分为类别2。相比于两类,对于多于两个类别的,平面的选择是:正确类别的特征向量有着来自平面所有特征向量的最大正距离值。

一个线性分类器可以被建立,例如采用具有一个单层的神经网络,如下图的(a, b)。这里,一个所谓的处理单元(神经元)首先计算特征向量的线性组合,且网络加权,然后应用一个非线性的激活函数。

一个具有单层神经网络的分类需要线性可分的类别,其在许多分类应用中是不足够的。为了让分类器能够去分不是线性可分的类,你可以加跟多的层,所谓的隐含层到网络中。获得多层神经网络是由输入层,一个或者多个隐含层和一个输出层。需要注意的是,一个隐含层是足够的去接近任何的分割超平面和任何值域在【0,1】上的输出函数,,只要隐含层有足够多数量的处理单元。

神经网络;单层的,针对(a)两类(b)n类 (c)多层:(从左到右)输入层,隐含层,输出层

在神经网络中,每一层的处理单元计算特征向量或者前面一层结果的线性组合,如下图:

一个MLP的处理单元

那么,每一个处理单元首先计算输入值得线性组合的激励值:

其中:

:特征向量

:L层的结果向量

和:L层的权重

然后,结果被传入到非线性激励函数:

在HALCON中,对于隐含层单元,激励函数是双曲线正切函数:

对于输出函数(当用MLP用于分类的时候),柔性最大值函数被使用,其映射输出值到(0,1)范围捏,这样它们加起来为1:

为了得到用多层神经网络分类的分割超平面,神经网络权值必须被调整,此操作是通过训练得到的。即,已知输出的数据被插入到输入层,并被隐含层处理。然后,输出与期望的输出做比较。如果输出与期望的输出不对应(在一定的错误容差内),权重被增量调整,进而错误被最小化。值得注意的是,用HALCON来做的权重调整被用一个稳定数字算法来实现,其要被经典的后传播算法会得到了一个更好的结果。

MLP对于一般特征的分类,图像分割和OCR识起作用的。注意的而是,MLP也可以用来做最小二乘拟合9回归*和具有多个独立逻辑属性的分类问题。

觉得有帮助?请转载分享给你们的朋友吧。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180806G1KH0700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券