自用deep learning笔记

神经网络和深度学习

第二章:神经网络基础

1.广播原则

在这里插入图片描述
在这里插入图片描述

2.不要使用秩1数组

a=np.random.randn(5) #这是个秩为1的数组,不是行向量也不是列向量
print(a.shape) #将得到 (5,)
因此生成时不要用上边这种数据类型,应当直接表明类型,若产生了该类型,最好把它a=a.reshape(5,1) 或者 a=a.reshape(1,5) 变成向量
A = np.random.randn(5,1) #列向量
print(a.shape) #将得到 (5,1)
区别:
[1 2 3 4 5 ] #秩为1的数组
[[1 2 3 4 5]] #1*5的矩阵

3.建议多使用assert

assert(a.shape==(5,1)) #这相当于一个检查,确保矩阵是你设想的大小。若条件不满足会报错,条件满足则无事发生。 asssert函数不会影响代码速度,想用就用

4.矩阵乘or元素乘

np.dot(A,B)代表了 矩阵乘法 或者矩阵乘向量
np.multiply(A,B)代表了 元素相乘,返回一个同样大小的矩阵
普通的一个乘号也代表了元素相乘,相当于 matlab的 “点乘”。普通一个乘号与multiply函数一模一样

5.巧用dot函数实现平方和

在这里插入图片描述

6.reshape里边-1的意义

在这里插入图片描述
train_set_x_orig 是一个( 209,64,64,3)的4维数组,
train_set_x_flatten = train_set_x_orig.reshape(train_set_x_orig.shape[0],-1).T
train_set_x_orig.shape[0]=209,意思我是我要转换成一个209行的矩阵,-1是我懒得算有多少列,电脑自己来算。 所以得到了 209×12288的矩阵,转置后得到了12288×209的矩阵

7.logistic回归

练习题总结:
1.预处理数据集很重要。(一个是降维,从4维数组变成(64643,图片数)的矩阵,这将得到X矩阵;一个是像素归一化,所有像素值除以255.0)
2.分别实现了每个函数:initialize()来初始化w,b;propagate()用于计算正向、反向传播,目的是得到每一次的输出cost 以及 dw db;optimize()用于for循环不停调节w、b;predict()利用1000多次调节得到的最优w、b,预测输出yhat,然后计算准确率;然后构建了一个model()整合整个函数 。
3.调整学习速率(这是“超参数”的一个例子)可以对算法产生很大的影响。整个model可调参数只有alpfa和训练次数。

第三章:浅层神经网络

1.在这里插入图片描述

这是一个2层神经网络,因为一般不计入输入层

2.几种激活函数

sigmoid():仅仅用于二元分类的输出层
tanh():比sigmiod()好一些
ReLU():一般用它
leaky Relu():泄露ReLU(),很少用

3.不要把W全部初始化为0

因为那样做将导致隐层各节点做一样的工作,具有对称性,没什么意义
解决方法是:随机初始化
W1=np.random.randn((2,1))*0.01
b1=np.zeros((2,1)) # b不需要担心节点全对称问题

0.01是为了变成初始化较小的数,主要是针对sigmoid函数,其他的没什么影响。因为如果w初始值很大,Z会落在较大的位置,斜率小,导致学习起来比较慢

第四章:深层神经网络

1.为什么使用深层网络

深度学习 = 有很多隐层的神经网络
举例说明:对于人脸识别,神经网络的第一层从原始图片中提取人脸的轮廓和边缘,每个神经元学习到不同边缘的信息;网络的第二层将第一层学得的边缘信息组合起来,形成人脸的一些局部的特征,例如眼睛、嘴巴等;后面的几层逐步将上一层的特征组合起来,形成人脸的模样。随着神经网络层数的增加,特征也从原来的边缘逐步扩展为人脸的整体,由整体到局部,由简单到复杂。层数越多,那么模型学习的效果也就越精确。

对于语音识别,第一层神经网络可以学习到语言发音的一些音调,后面更深层次的网络可以检测到基本的音素,再到单词信息,逐渐加深可以学到短语、句子。

所以从上面的两个例子可以看出随着神经网络的深度加深,模型能学习到更加复杂的问题,功能也更加强大。

2.

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + Shift + B
斜体:Ctrl/Command + Shift + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. 注脚的解释 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值