什么是感知机(超详细 | 图文)
结构
感知机(perceptron)是神经网络的基础结构。下图是一个感知机的例子:
图示感知机(从下到上)的结构解释如下:
-
两个接受由外部输入的输入值的输入节点(黄色): x 1 x_1 x1 和 x 2 x_2 x2(这是为了帮助感知机感知外部的环境,比如预测某人的癌症患病率时,感知机需要首先知道这个人的年龄、性别等信息) 一个由内部模型决定的阈值的输入节点(黄色): x 0 x_0 x0(这是为了使得感知机更加的灵活,而不仅仅依赖于外部输入值来确定输出值) 三个输入节点到中间节点的连接权重(实线箭头): w 0 w_0 w0~ w 2 w_2 w2(这就是感知机将要学习的东西:不同的环境因子对预测结果的影响力分别有多大) 一个由输入节点和连接权重,通过加权求和计算得到的中间值(深黄色): o o o(这是先算出输入层带来的基础结果,为计算出最终的输出值做准备)。 计算方法是: 将每个输入值 x 1 x_1 x1~ x 2 x_2 x2 ,乘以对应的权重 w 1 w_1 w1~ w 2 w_2 w2(对应公式中的 ∑ i = 1 2 w i x i sum_{i=1}^2 w_i x_i ∑i=12wixi) 再加上阈值 x 0 x_0 x0 乘以阈值节点对应的权重 w 0 w_0 w0(对应公式中的 w 0 w_0 w0。因为 x 0 x_0 x0 固定为 1 1 1,所以 x 0 ⋅ w 0 = 1 ⋅ w 0 = w 0 x_0·w_0=1·w_0=w_0 x0⋅w0=1⋅w0=w0) 一个用来对中间值做特殊变换,从而得到最终输出结果的激活函数(虚线箭头): f f f(这一步可以用各种各样的函数,对初步计算得到的中间值做各种各样的变换,从而使得感知机更加灵活的输出,实现不同的效果、解决不同的问题。当然,也可以不做任何变换,保留原始值)
而在大多数情况下,感知机的结构往往被表示为这样:
作用
神经网络作为一种监督学习的方法,主要解决两大问题:
- 回归问题:处理连续值。比如预测某只股票明日的价格,有无限种可能,因为价格可以是0到无穷大的任意一个。
- 分类问题:处理离散值。比如预测一张图片中的动物是猫还是狗,只有两种可能,例如输出为0表示图片中是猫,输出为1表示图片中是狗。
回归问题中,激活函数可以是不做任何处理,保留原始值的函数: y = f ( o ) = o y=f(o)=o y=f(o)=o
分类问题中,激活函数可以是阶跃函数: f ( o ) = 1 ( o ) = { 1 , o > 0 0 , o < = 0 f(o)=pmb{1}(o)= egin{cases} 1, quad o>0 \ 0, quad o<=0 end{cases} f(o)=111(o)={ 1,o>00,o<=0
当然,对于这两类问题,也有非常多其他的激活函数,比如Sigmoid,ReLu,Tanh等等
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
VoLTE端到端业务详解 | 应用案例三