我的主页:晴天qt01的博客_CSDN博客-数据分析师领域博主
目前进度:第四部分【机器学习算法】
神经网络与深度学习是最近的热门话题,产生了很多人工智能上的应用。所以我们学习的内容也会相对多一些。
神经网络概述
神经网络我们是从生物的神经网络构造上得到的灵感
我们学习的神经网络不过是生物神经网络的类似体。
生物神经网络里有一个细胞核,我们称为神经元。人大概有10的11次神经元。10的15次方神经键。神经元有一个触手刚开始我们叫轴突,轴突会越来越细,变成树状突,树状突会互相接触,达到神经元互相沟通的效果。
于是我们想用数学来模型生物神经网络的运作。
感知机(Perceptron)及感知机的极限。
感知机:
Rosenblatt 在1957年提出。为什么我们现在还要学这么古老的算法呢?其实是因为感知机是造就了神经网络。(深度学习)的算法。它是原型。
因此,学习感知机的架构,等于学习神经网络或深度学习的重要概念
使用感知机,就可以建立计算机。我们建立一个房子就要学会盖砖块。感知机就相当于这个砖块。
感知机是指收到多个信号之后,按一个信号发出。。
输入信号传送到神经元的时候,分别乘上各自的权重(w1x1,w2,x2)然后进行求和,如果超过一定数值,y就会输出1否则输出0,这个数值一般称为临界值。
用数学算式来表达就是下面这个式子
权重代表信号的重要性,权重越重,代表重要性越高,权重越低代表重要性越低。
案例:逻辑电路
表达and Gate 也就是当二者同时为1的时候,那么它就满足输出条件1.
我们要决定权重值w1,w2和临界值西塔
实际上我们有无数个w1,w2,临界值可以满足这个条件
例如(0.5,0.5,0.7)(0.5,0.5,0.8)(1.0,1.0,1.0)
10,01,00,都不会满足条件,只有11的时候才能满足临界值条件。
都可以满足这个AND Gate条件。
那么我们选择要满足 NAND呢(Not AND)
那么其实我们加上负号,就可以达到我们想要的条件。
如果要做OR gate呢(只要有一个1,就输出1)
这3种Gates都只是参数不同,适当的调整参数 就可以达到我们需要的效果。
假设or Gate的值是(-0.5,1,1)我们希望得到Xor要怎么做呢?我们发现无论我们参数如何改变。都不能做到完美预测结果。
用一条线,我们是不能把它区分开来的。它是非线性的问题。所以我们就发现了感知机的极限
感知机的极限:
它不能区分线性和非线性的区别。
怎么样能让感知机做到处理非线性的内容呢
多层感知机(multi-Layer Perceptron)
这时需要引入多次感知机。它可以区分非线性的问题
在逻辑电路里我们会把AND,NAND和OR表示为上图的情况,那我们现在多层如何表示才能让多次感知机变成处理XOR的问题呢
答案如下
我们看右下角的表格,我们把数值从x1和x2利用NAND和OR转变为S1,S2,在把S1,S2作为输入字段得到y。回过头,看X1和X2输入的数值。发现00时输出0,11时也会输出0,这就是多层感知机的处理非线性问题的方法。
每个感知机里都是输入信号,权重,界限,输出信号,
如果我们把基本结构画入多层感知机,其实你会发现它也是很复杂的。
我们会把第0层是输入层。第一层定位为隐藏层,第二层是输出神经元
隐藏层是不是只能有一个,其实不是,可以有多个,我们的神经网络就是有多个隐藏层的处理方式
感知机就是神经网络的雏形,它能让你的预测结果更为准确。
总结:
感知机,是具有输入和输出的算法,给予输入之后,就会输出一定值。感知机可以将权重与偏置项(界限)作为参数设定。使用感知机可以表现AND gate OR gate NANO逻辑电路规则
XOR无法用感知机实现
使用双层感知机,可以实现XOR gate
单层感知机,只能表示线性问题,而多层感知机能表现非线性区域。
多层感知机可以实现计算机的所有功能。
版权归原作者 晴天qt01 所有, 如有侵权,请联系我们删除。