《深度学习入门》 3章

1 激活函数:

a.阶跃函数 当输入超过 0 时,输出 1, 否则输出 0

b.sigmoid 函数


sigmoid .png

这个函数在后面的代码中使用很频繁,用代码输出图形:


sigmoid .png

c.ReLU(Rectified Linear Unit)函数 max(0,input)

这些函数的实现都非常简单,直接ruturn公式;

2 多维数组的运算

矩阵乘法:.dot(a,b) 对应维度的元素个数要保持一致,同数学里矩阵乘法
神经网络内积:Y=WX+B

3 3层神经网络实现

三层神经网络手算

输出层函数:

恒等函数:将输入按原样输出,对于输入的信息,不加以任何改动地直接输出,加是为了和前面保持结构一致性;
softmax 函数:分子是输入信号的指数函数,分母为所有输入信号的指数函数的和;

softmax函数

softmax 函数的输出是 0.0 到 1.0 之间的实数。并且,softmax 函数的输出值的总和是 1。输出总和为 1 是 softmax 函数的一个重要性质。正因为有了这个性质,我们才可以把 softmax 函数的输出解释为“概率”。即该函数具有概率的性质,可以表示概率,一般而言,神经网络只把输出值最大的神经元所对应的类别作为识别结果。

代码实现

import numpy as np

def sigmoid(x):#激活函数
    return 1/(1+np.exp(-x))

def identity_function(x):#输出函数
    return x

def init_network():
    network = {}
    network['W1'] = np.array([[0.1,0.3,0.5],[0.2,0.4,0.6]])#0-1层权重
    network['b1'] = np.array([0.1,0.2,0.3])#偏置
    network['W2'] = np.array([[0.1,0.4],[0.2,0.5],[0.3,0.6]])#1-2层权重
    network['b2'] = np.array([0.1,0.2])
    network['W3'] = np.array([[0.1,0.3], [0.2,0.4]])#2-3层权重
    network['b3'] = np.array([0.1,0.2])

    return network

def forward(network,x):
    W1,W2,W3 = network['W1'],network['W2'],network['W3']
    b1,b2,b3 = network['b1'],network['b2'],network['b3']

    #a=wx+b 矩阵乘法
    a1 = np.dot(x,W1) + b1
    z1 = sigmoid(a1)
    a2 = np.dot(z1,W2) + b2
    z2 = sigmoid(a2)
    a3 = np.dot(z2,W3) + b3
    y = identity_function(a3)
    return y

network = init_network()
x=np.array([1.0,0.5])
y=forward(network,x)
print(y)
D:\software\Anaconda\python.exe D:\workspace_p\study\ch03\test.py 
[0.31682708 0.69627909]

Process finished with exit code 0

遇到了几个问题:1.conda装过Numpy后pycharm一直显示无法导入,搜索了一下突然想到或许是每次新建工程时pycharm都需要重新配置解释器导致的,果然如此,配置方法:file-settings-project:network-python interpreter -修改为conda内置的python 就可以了,idea也是这样,每次都需要重新配置;

2.报错:Field elements must be 2- or 3-tuples, got '0.2' 是因为多维数组的写法不正确,需要在外层在加一个中括号:network['W2'] = np.array([[0.1,0.4],[0.2,0.5],[0.3,0.6]])

手写数字识别

从书籍官网下载的代码在run的时候,发现导入dataset不成功,解决方法见ModuleNotFoundError: No module named ‘dataset‘--《深度学习入门》3.6.1节错误的解决方案_modulenotfounderror: no module named 'datasets_alltimehigh的博客-CSDN博客
运行截图:

手写数字识别

keywords:
load_mnist函数return的是"(训练图像,训练标签),(测试图像,测试标签)"
有三个参数(均为布尔型):
normalize:是否正规化,即是否输出为0-1(浮点型)的值;False 不正规;
flatten:是否展开为一维数组;False 不做改变;
one_hot_label:是否将标签表示成正确解为1 ,其余为0 的形式; False不改变;
reshape() 可以改变图像形状(以像素的形式)

3.6.2 神经网络的推理处理

run示例代码neuraint_mnist的时候from common.functions import sigmoid, softmax报错:解决方法同上,因为我的环境其实是用的conda的,所以需要把依赖的数据和function都放入conda包下;

代码及结果:


神经网络的推理处理

感觉for循环里的代码有点难以理解,逐一输出就比较清晰了:


for

预处理:方法有正规化,使用均值或者方差再处理数据,和将数据整体分布均匀化的白化方法;

3.6.3 批处理
通过range()的第三个参数实现,会自动实现分批处理,sql中这种通常要自己实现;
书中解释说批处理可以减轻数据总线的负荷,或许是因为一次读入减少了IO次数?
从结果可以看出,这是多个一维数组:


批处理

python语法:使用print()的时候发现只能打印同一类型的数据,所以输出拼接类型的时候,要把数字强制转换成字符串类型:str(2)

第三章 end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容