从page 16继续往下
1.6 Matplotlib
在深度学习的实验中,图形的绘制和数据的可视化非常重要要。Matplotlib是用于绘制图形的库,使用Matplotlib可以轻松地绘制图形和实现数据的可视化。
1.6.1 绘制简单图形
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(0,6,0.1)
y = np.sin(x)
plt.plot(x,y)
plt.show()这里使用了Numpy的arrange 方法生成了[0,0.1,02.2...,5.8,5.9] 的数据,将其设为x.对x的各个元素,应用Numpy的sin函数np.sin(),将x、y的数据传给plt.plot方法,然后绘制图形。
sin函数绘制的图形
1.6.2 pyplot的功能
如刚才的sin 函数的图形中,我们尝试追加cos 函数的图形,并尝试使用pyplot的添加标题和x轴标签名等其他功能。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0,6,0.1)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x,y1,label="sin")
plt.plot(x,y2,linestyle = "--",label ="cos")
plt.xlabel("x")
plt.ylabel("y")
plt.title('sin&cos')
plt.legend()
plt.show()如下图所示,我们看到图的标题、轴的标签名都被标出来了。
pyplot 中还提供了用于显示图像的方法imshow()。另外,可以用matplotlib.image模块的imread()方法读入图像。下面我们再来看看。
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread('lena.png')
plt.imshow(img)
plt.show()这里,我们假定图像lena.png在当前目录下。可正常运行。
1.7 小结
本章节主要是最基础的知识,作者推荐《Python 语言及其应用》一书。另外使用numpy,《利用Python进行数据分析》书中有简单易懂的总结。另外:scipy lecture notes 这个网站上也有以科学计算为主题的NumPy 和 Matplotlib的详细介绍。
第2章 感知机
感知机(perceptron) 算法。感知机是作为神经网络(深度学习)的起源的算法。因此,学习感知机的构造也就是学习通向神经网络和深度学习的一种重要思想。
2.1 感知机是什么
感知机接收多个输入信号,输出一个信号。这里所说的“信号” 可以想象成电流或河流那样具备“流动性”的东西。像电流流过导线,向前方输送电子一样,感知机的信号也会形成流,向前方输送电子一样。
但是和实际电流不同的是,感知机只有“流/不流”(1/0) 两种取值。在本书中,0对应“不传递信号”,1对应“传递信号”。
下图是感知机的例子:
下图是一个感知机的例子,x1,x2是输入信号,y 是输出信号,w1,w2 是权重(w 是weight的首字母)。图中的 0 称为“神经元” 或者“节点”。输入信号送入神经元时,会被分别乘以固定的权重(w1x1, w2x2), 神经元会计算传送过来的信号的综合,只有当超过某个界限值时,才会输出1,也称为“神经元被激活”,这里将这个界限值称为“阈值”,用符号θ 标志。
感知机原理如下:
2个输入的感知机
感知机的运行原理,用数学公式表示:
公式2.1
权重发挥着控制各个信号的重要性的作用,权重越大重要性就越高。
2.简单逻辑电路
2.2.1 与门
怎么设定w1, w2,θ 才能满足上图呢?
代公式应该可以算出来:
w1 * x1 + w2 * x2 <= θ
w1 * x1 + w2 * x2 > θ
带入上图的x1, x2 , y(θ) 可以得到:
上面公式推导出:
可以看到只要满足上面条件的w1,w2 和 θ 就能满足与门的逻辑。
这里随便选一个(w1,w2,θ)=(0.5,0.5,0.7) 可以满足, (w1,w2,θ)也可以选择(0.5,0.5,0.8)也可以满足。
2.2.2. 与非门和或门
这样我们再来考虑下与非门(NAND gate),Nand 是 上面与门的求反。Not And的意思。
与非门的真值表:
非门逻辑
或门逻辑
同样的计算方法,做带入,实现与门,可以用(w1,w2,θ)= (-0.5,-0.5,-0.7)这样的组合。
同样的原理,如果设置不同的w1,w2 和 θ, 也可以实现或门的逻辑
这个简单,θ 取1, w1 取 1.5, w2 取1.5
(w1,w2,θ) = (1.5,1.5,1) 组合即可满足要求。
做到这里,发现即使处理逻辑相同,但是参数不同,尽然结果也是完全不一样的。(所谓有因就有果,不同的因产生不同的果)反过来,完全不一样的结果,其实他们的组成因素可能差别也就是一点点而已,而这一点点造就了不同。(差之毫厘,谬以千里)- by 飞霜
如上所示,可以看到使用感知机可以表示与门、与非门、或门的逻辑电路,重要的一点事:与门、与非门、或门的感知机构造是一样的。3个门电路只有参数的值(权重和阈值)不同。相同的感知机,通过适当的调整参数的数值,就可以表演不同的角色。
看到page25. 待续。
| 留言与评论(共有 0 条评论) “” |