0

神经网络权重的初始化

最近在学习神经网络和深度学习的时候遇到了权重初始化的问题,权重的初始化影响到了算法的学习速度,在初始化权重的时候应该从均值为$0$,方差为${1}/{\sqrt{n_{in}}}$的正态分布中去随机初始化,其中$n_{in}$为输入神经元的数量。下面就来讨论原因。

在权重初始化的时候,我们一般会从标准正态分布$\omega\sim\mathcal{N}(0, 1)$中去随机生产权重,然后从标准正态分布中去随机产生偏置$b$,为了说明问题,这里举个例子,假设我们有$1000$个输入神经元,如下图所示,然后我们和输入层相连的第一个隐藏层的第一个神经元。

2016-11-28_212430http://neuralnetworksanddeeplearning.com/images/tikz32.png

图片来自:http://neuralnetworksanddeeplearning.com/images/tikz32.png

Continue Reading

0

Ubuntu查看系统版本信息

最近更换软件源的时候需要查看系统的版本信息,而了解系统版本信息在安装和部署软件的时候非常重要,现在整理如下,/etc/proc目录下记录的当前系统运行的各种数据,version记录的版本信息直接可以通过cat查看到

方法一

方法二

方法三

参考文章

0

Windows下安装Docker,Tensorflow以及Docker的基本使用

Docker是一种容器技术,它背后的想法是创建软件程序可移植的轻量容器,让其可以在任何安装了Docker的机器上运行,而不用关心底层操作系统,就像野心勃勃的造船者们成功创建了集装箱而不需要考虑装在哪种船舶上一样。Docker两个最重要的概念是镜像和容器。Docker的镜像类似虚拟机的快照,你可以从镜像中创建容器,这等同于从快照中创建虚拟机,不过更轻量。应用是由容器运行的。例如,你可以下载一个CentOS镜像(从dockhub中获取),然后通过安装Apache,MySQL以及PHP来修改找个镜像,之后你可以从找个镜像中创建一个容器,启动之后运行你的应用。好的,那么接下来我们就在Windows下安装Docker以及Tensorflow吧。 Continue Reading

0

Windows下安装xgboost库

xgboost是一个很强大的开源库,在Linux下安装还是很简单的,但是在Windows下安装比较麻烦一些,需要安装MinGW-w64,然后我们利用mingw32-make.exe编译器来编译xgboost

第一步 安装MinGW-w64

https://sourceforge.net/projects/mingw-w64/ 这个是安装文件的地址,下载下来的exe文件是在线安装的,这里我们使用离线安装包安装,这里我使用64位的版本,下载地址为:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/,选择最新的版本,然后选择posix版本的,然后进入seh的目录,选择第一个下载即可。地址为:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/6.2.0/threads-posix/seh/

下载完之后解压,然后进入bin目录,把bin目录添加到环境变量中,添加完了之后,打开powershell,输入mingw32-make.exe,如果显示如下内容表示安装成功

Continue Reading

0

CUDA 第 1 课:GPU 编程模型——CUDA基础(1)

CUDA的全称是Compute Unified Device Architecture——统一计算设备架构,使用CUDA的前提是计算机需要安装英伟达公司推出的显卡,我使用的是GTX 660型号的英伟达显卡,俗称N卡。要编写CUDA程序进行编译运行的话你需要去CUDA的开发环境。本文主要介绍CUDA的基础架构,理解CUDA的基础架构有助于编写CUDA程序。 Continue Reading

0

CUDA——Udacity cs344的并行课程学习笔记

CUDA全称是Compute Unified Device Architecture,中文名称为统一计算设备架构,它是由英伟达(NVIDIA)公司推出了一种通用的并行计算平台和编程模型。使用CUDA,我们可以开发出同时在CPU和GPU上运行的通用计算程序,更加高效地利用现有硬件进行计算。为了简化并行计算学习,CUDA为程序员提供了一个类C语言的开发环境以及一些其它的如FORTRAN、Python等的高级语言/编程接口来开发CUDA程序。

cuda Continue Reading

0

Coding ML:Sigmoid function

[latexpage]

在神经网络中,sigmoid函数很常用,而在LR当中,这个函数也很常见,那么如何使用sigmoid函数实现一个神经网络的sigmoid函数呢?这里我们采用梯度下降的算法使用sigmoid函数来更新权重,下面是权重更新公式
\begin{equation}
\omega_i=\omega_i+\Delta w_i
\end{equation}
其中$\Delta w_i$为
\begin{equation}
\Delta w_{i} = \eta (y – \sigma )\sigma(1-\sigma)x_{i}
\end{equation} Continue Reading