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

机器学习之神经网络(上)

阅读文本需要8分钟。

本篇主要为绍神经网络模型,讲解神经网络计算与、或、非、异或逻辑。

神经元模型

在机器学习中谈论的神经网络指的是 " 神经网络学习 " ,或者说是机器学习与神经网络这两个学科领域的交叉部分。

神经网络中最基本的成分是神经元 ( neuron ) 模型 。图 5.1 就是一个一直沿用至今的神经元模型,神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的链接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过 " 激活函数 " 处理以产生神经元的输出。

一般激活函数是图 5.2(a) 所示的阶跃函数,输出值为 " 0 " 或 " 1 " 。然而阶跃函数不连续、不太光滑,实际常用 Sigmoid 函数作为激活函数。图 5.2(b) 是典型的 Sigmoid 函数。

感知机与逻辑“与”、“或”、“非”运算

感知机由两层神经元组成,如图 5.3 ,输出层接受外界输入信号后传递给输出层,输出层是 M-P 神经元。

感知机能很容易实现逻辑与、或、非运算,输出为

假定f是图 5.2 中的阶跃函数。

逻辑与 (and) 运算

用一个简单的神经元来表示逻辑“与”运算,同样像之前做的PLA算法笔记一样添加一个偏置单元 X等于 1 ,然后分配一些权重

其中激活函数hΘ(x)可以用如下公式表示:hΘ(x)=g(−30+20x1+20x2)

根据 Sigmoid 函数,x1, x2取不同的值,h(x)如下:

x1=0 and x2=0 then g(−30)≈0

x1=0 and x2=1 then g(−10)≈0

x1=1 and x2=0 then g(−10)≈0

x1=1 and x2=1 then g(10)≈1

可以看出,这里的神经网络激活函数hΘ(x)近似等于与逻辑运算。

逻辑或 (or) 运算

用一个简单的神经网络模型来模拟“非”逻辑运算:

其中激活函数hΘ(x)可以用如下公式表示:hΘ(x)=g( -10 + 20x1+ 20 x2)

根据 Sigmoid 函数,x1, x2取不同的值,h(x)如下:

x1=0 and x2=0 then g(−10)≈0

x1=0 and x2=1 then g(10)≈1

x1=1 and x2=0 then g(10)≈1

x1=1 and x2=1 then g(30)≈1 可以看出,这里的神经网络激活函数hΘ(x)近似等于或逻辑运算。

逻辑非 (not) 运算

同样用一个简单的神经网络模型来模拟“非”逻辑运算:

逻辑异或 (xor) 运算

感知机能实现逻辑与、或、非的运算,感知机只拥有一层神经元,学习能力非常有限,事实上,与、或、非问题都是线性可分的问题。如果两类模式是线性可分的,就存在一个线性超平面能将他们分开,如图 5.4(a)-(c) ,则感知机学习过程一定会收敛得到适当的权值。否则学习过程会发生振荡,难以求得权值,例如感知机甚至不能解决如图 5.4(d) 所示的异或这样的非线性可分问题。

解决非线性可分问题需要考虑使用多层神经元,例如图 5.5 中这个简单的两层感知机就能解决异或问题。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券