主页

梯度下降的理解

gradient descent(梯度下降)是一种优化算法,在machine learning中经常用来优化目标函数。 假设$X=(x_1,x_2 )$代表身高体重数据,$x_1$为身高,$x_2$为体重,$Y$表示类标号,当$y=1$的时候表示男生,当$y=-1$的时候表示女生。如果能找到一个函数$f(X)$能够尽可能准确描述这些数据,使得给出任意一个$X$,能够预测出这个人是男生还是女生。 这里可以假设$f(X)$为一个线性函数: \[\begin{aligned} f(X)=θ_1 x_1 + θ_2 x_2 + θ_3 \end{aligned}\]

阅读更多

反向传播(Back Propagation)

什么是BP算法 error BackPropagation算法指的是误差反向传播算法。它是由一个输入层、一个输出层和一个或多个隐层构成,它的激活函数采用sigmoid函数,采用BP算法训练的多层前馈神经网络。 BP算法的基本思想 BP算法全称叫作误差反向传播(error Back Propagation,或者也叫作误差逆传播)算法。其算法基本思想为:在前馈网络中,输入信号经输入层输入,通过隐层计算后由输出层输出,输出值与标记值比较,若有误差,将误差反向由输出层向输入层传播,在这个过程中,利用梯度下降算法对神经元权值进行调整。

阅读更多

softmax激励函数

原文链接:Softmax 函数的特点和作用是什么? - 忆臻的回答 - 知乎 softmax函数 softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类。 假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是: \[S_i= \frac{ {e}^{V_i}}{\sum_{j}^{}{ {e}^{V_j}}}\] 更加形象的图如下:

阅读更多

epoch、iteration、batch_size的区别

epoch 一次epoch是指将所有数据训练一遍的次数,epoch所代表的数字是指所有数据被训练的总轮数。 iteration 进行训练需要的总共的迭代次数。 batch size 进行一次iteration(迭代)所训练数据的数量。

阅读更多

DNN和RNN的区别与联系

参考以下资料整理而成: http://www.zmonster.me/2018/11/10/sequence_to_sequence_learning.html 结论 模型对句子的主动与被动语态并不敏感,但是对输入词的顺序很敏感。 倒序输入句子能提升模型效果 DNN(Deep Neural Network, 传统的深度神经网络) Weakness 不能处理的输入和输出都是变长序列的问题,这种模型都能很好地进行处理 RNN(Recurrent Neural Network, 循环神经网络) Introduction

阅读更多

深度学习优化算法概览

深度学习优化算法经历了 SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -> Nadam 这样的发展历程。 知乎上的文章写得挺好的了,所以不整理笔记了,直接贴上对应的链接。 1. 从 SGD 到 Adam —— 深度学习优化算法概览(一) - 骆梁宸的文章 - 知乎 2. 一个框架看懂优化算法之异同 SGD/AdaGrad/Adam - Juliuszh的文章 - 知乎 3. Adam那么棒,为什么还对SGD念念不忘 (2)—— Adam的两宗罪 - Juliuszh的文章 - 知乎

阅读更多

python3.6下各版本pytorch安装命令

# 修改源为清华大学软件镜像站 # 编辑配置文件 vim ~/.condarc # 更改为以下内容 channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r custom_channels: conda-forge: https://mirrors.tuna...

阅读更多

为Jupyter Notebook配置多个python版本

在实用Anaconda过程中,默认为安装python2或者python3,而使用jupyter notebook时,默认只有一个python版本,为了能够方便随时切换python版本,可以为jupyter notebook安装多个python内核。 1. 只存在python2虚拟环境: conda create -n ipykernel_py3 python=3.6 ipykernel source activate ipykernel_py3 # mac activate ipykernel_py3 # windows python -m ipykernel install --user 2. 只存在python3虚拟环境 conda create -n ipykernel...

阅读更多

交叉熵(cross entropy)

1. 定义 基于概率分布$p$和$q$的交叉熵定义为: \[H(p,q) = E_{p}[-log\ q] = H(p) + D_{KL}(p||q)\] 其中 $H(p)$是$p$的熵, $D_{KL}(p   q)$是从 $p$到$q$的KL散度(也被称为p相对于q的相对熵)。 对于离散分布$p$和$q$,这意味着: \[H(p,q) = \sum_{x}{p(x)\ log\ q(x)}\] $p$ 是信息的实际分布,而$q$则为错误分布。

阅读更多