Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
ml-mastery-zh
提交
4f48662d
M
ml-mastery-zh
项目概览
OpenDocCN
/
ml-mastery-zh
10 个月 前同步成功
通知
2
Star
556
Fork
158
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
ml-mastery-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
4f48662d
编写于
8月 04, 2021
作者:
布
布客飞龙
提交者:
GitHub
8月 04, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #48 from linmeishang/patch-7
校对了## 随机搜索算法 之前的部分
上级
b7842d8e
b9f98331
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
21 addition
and
23 deletion
+21
-23
docs/dl-keras/why-initialize-a-neural-network-with-random-weights.md
...as/why-initialize-a-neural-network-with-random-weights.md
+21
-23
未找到文件。
docs/dl-keras/why-initialize-a-neural-network-with-random-weights.md
浏览文件 @
4f48662d
#
为什么用随机权重初始化神经网络
?
#
神经网络的权重为什么要随机初始化
?
> 原文: [https://machinelearningmastery.com/why-initialize-a-neural-network-with-random-weights/](https://machinelearningmastery.com/why-initialize-a-neural-network-with-random-weights/)
必须将人工神经网络的权重
初始化为小的随机数。
人工神经网络的权重(weights)必须
初始化为小的随机数。
这是因为这是用于训练模型的随机优化算法的期望,称为随机梯度下降
。
因为用于训练模型的随机优化算法(stochastic optimization algorithm)要求如此,这种算法称为随机梯度下降(stochastic gradient descent)
。
要理解这种解决问题的方法,
首先必须了解非确定性和随机算法的作用,以及随机优化算法在搜索过程中利用随机性的必要性
。
要理解这种解决问题的方法,
您首先必须了解非确定性和随机算法(nondeterministic and randomized algorithms)的作用,以及为什么随机优化算法在参数搜索过程中需要利用随机数
。
在这篇文章中,您将
发现为什么必须随机初始化神经网络权重的完整背景
。
在这篇文章中,您将
学习为什么神经网络的权重必须随机初始化(randomly initialized)
。
阅读这篇文章后,
你
会知道:
阅读这篇文章后,
您
会知道:
*
关于针对具有挑战性的问题的非确定性和随机算法的需求
。
*
在随机优化算法中
初始化和搜索期间使用随机性
。
*
随机梯度下降是随机优化算法,
需要随机初始化网络权重
。
*
处理具有挑战性的问题时我们有时需要非确定性和随机算法
。
*
在随机优化算法中
,使用随机数来进行初始化和参数的搜索
。
*
随机梯度下降是随机优化算法,
它需要对神经网络的权重进行随机初始化
。
让我们开始吧
。
让我们开始吧
!
![
Why Initialize a Neural Network with Random Weights?
](
img/d767349f43cecc391f31806440729f12.png
)
为什么用随机权重初始化神经网络
?
照
[
lwtt93
](
https://www.flickr.com/photos/37195641@N03/7086827121/
)
,保留一些权利。
神经网络的权重为什么要随机初始化
?
[
lwtt93
](
https://www.flickr.com/photos/37195641@N03/7086827121/
)
的照片
,保留一些权利。
## 概
观
## 概
要
这篇文章分为
4 部分;他们是
:
这篇文章分为
以下 4 个部分
:
1.
确定性和非确定性算法
2.
随机搜索算法
...
...
@@ -34,21 +34,19 @@
## 确定性和非确定性算法
经典算法是确定性的。
一个例子是对列表进行排序的算法。
经典算法是确定性的(deterministic),例如对列表进行排序的算法。
给定一个未排序的列表,排序算法,比如冒泡排序或快速排序,将系统地对列表进行排序,直到您有一个有序的结果。确定性意味着每次给出相同的列表时,它将以完全相同的方式执行。它将在程序的每个步骤中进行相同的移动
。
假设给定一个未排序的列表,排序算法(比如冒泡排序(bubble sort)或快速排序(quick sort))将系统地对列表进行排序,直到有一个有序的结果。"确定性"意味着每次给定相同的列表时,它将以完全相同的方式执行。它将在程序的每个步骤都进行相同的操作
。
确定性算法很棒,因为它们可以保证最佳
,最差和平均运行时间。问题是,它们
不适合所有问题。
确定性算法很棒,因为它们可以保证最佳
、最差和平均运行时间。问题是,它们并
不适合所有问题。
有些问题对计算机来说很难。也许是因为组合的数量
;也许是因为数据的大小。它们非常难,因为确定性算法不能用于有效地解决它们。该算法可能会运行,但会继续运行直到宇宙的热量
死亡。
有些问题对计算机来说很难。也许是因为组合的数量
,也许是因为数据的大小。它们非常难,因为确定性算法不能有效率地解决它们。该算法可能会运行,但会继续运行直至宇宙因过热而
死亡。
另一种解决方案是使用
[
非确定性算法
](
https://en.wikipedia.org/wiki/Nondeterministic_algorithm
)
。这些是在算法执行期间做
出
决策时使用
[
随机性
](
https://en.wikipedia.org/wiki/Randomized_algorithm
)
元素的算法。这意味着当在相同数据上重新运行相同的算法时,将遵循不同的步骤顺序。
另一种解决方案是使用
[
非确定性算法
](
https://en.wikipedia.org/wiki/Nondeterministic_algorithm
)
。这些是在算法执行期间做决策时使用
[
随机性
](
https://en.wikipedia.org/wiki/Randomized_algorithm
)
元素的算法。这意味着当在相同数据上重新运行相同的算法时,将遵循不同的步骤顺序。
他们可以
迅速加快获得解决方案的过程,但解决方案将是近似的,或“_ 好 _”,但往往不是“_ 最佳 _。”不确定性算法往往不能强保证运行时间或找到的
解决方案的质量。
他们可以
大大加快获得解决方案的过程,但解决方案将是近似的,或者说是“_ 好的 _”,但往往不是 “_ 最佳的 _。” 不确定性算法往往不能很好地保证运行时间或其
解决方案的质量。
这通常很好,因为问题非常严重,任何好的解决方案通常都会令人满意
。
不过这不是问题。因为这类算法想要解决的问题通常非常难,所以任何好的解决方案都已经可以使人满意了
。
## 随机搜索算法
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录