Word2Vec的主要目的适用于词的特征提取,然后我们就可以用LSTM等神经网络对这些特征进行训练. 由于机器学习无法直接对文本信息进行有效的处理,机器学习只对数字,向量,多维数组敏感,所以在进行文本训练之前还要做一些转化工作,Word2Vec就是担负此重任的有效工具,当然还有其他工具,就不再说明.本次只是简单介绍Word2Vec的工作原理,想要详细理解还请看一下文章最后分享的链接. Word2Vec工作过程 1.建立字典,每个词生成 one-hot 向量 Word个数为 n ,产生 n 维向量…
因为是Jupyter Notebook的形式,所以不方便在博客中展示,具体可在我的github上查看. 第一章 Neural Network & DeepLearning week2 Logistic Regression with a Neural Network mindset v3.ipynb 很多朋友反映找不到h5文件,我已经上传了,具体请戳h5文件 week3 Planar data classification with one hidden layer v3.ipynb week4…
1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/development set).测试集(test set). 对于传统的机器学习算法,数据量(比如100.1000.10000),常用的分法是70%训练集/30%测试集.60%训练集/20%验证集/20%测试集. 对于大数据(比如100万),可能分法是98%训练集/1%验证集/1%测试集.99.5%训练集/0.…
1. 计算深度神经网络的时候,尽量向量化数据,不要用for循环.唯一用for循环的地方是依次在每一层做计算. 2. 最常用的检查代码是否有错的方法是检查算法中矩阵的维度. 正向传播: 对于单个样本,第i层网络 z[i] = W[i]a[i-1] + b[i], a[i] = f[i](z[i]). 其中,z[i]是n[i]*1,W[i]是n[i]*n[i-1],a[i-1]是n[i-1]*1,b[i]是n[i]*1. 对于向量化后的所有样本,第i层网络 Z[i] = W[i]A[i-1] + b…
GAN存在问题 训练困难,G和D多次尝试没有稳定性,Loss无法知道能否优化,生成样本单一,改进方案靠暴力尝试 WGAN GAN的Loss函数选择不合适,使模型容易面临梯度消失,梯度不稳定,优化目标不定导致模型失败,WGAN,找到了更为合适的Loss函数,使得梯度呈线性,事实上WGAN对判别器权重进行了区间限制,使得权重控制在一定范围内,使得梯度更大概率的呈线性增长. WGAN特点 无需平衡D,G的训练组合 解决collapse model(模型崩溃)问题,保证样本多样性 结构更改简单有效 改进…
在自然语言处理领域中,将单词(words)或词语(phases)映射到向量空间(vector space)中可以很容易就得到单词之间的相似度,因为向量空间中两个向量的相似度很容易求得,比如余弦相似度. 1. word2vec word2vec: 一种无监督深度学习方法, 顾名思义,其能实现从 words (来源于一个很大的文本语料库)到 vector 转化,称之为 word embeddings(词嵌入) . 与词袋模型(BOW,Bag of words)所不同的是,它给出的是 continuo…
训练方法DCGAN 的训练方法跟GAN 是一样的,分为以下三步: (1)for k steps:训练D 让式子[logD(x) + log(1 - D(G(z)) (G keeps still)]的值达到最大 (2)保持D 不变,训练G 使式子[logD(G(z))]的值达到最大 (3)重复step(1)和step(2)直到G 与D 达到纳什均衡 Alec Radford等人于2016年初提出DCGAN以改善GAN的可训练性.他们认为传统GAN之所以不稳定,一个原因便是判别器D搭载的是初级的多层…
生成对抗网络(GAN)由2个重要的部分构成: 生成器G(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器 判别器D(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据” 生成对抗网络的工作过程: 第一阶段:固定判别器D,训练生成器G 初始化判别器D,让一个生成器G不断生成“假数据”,然后给这个判别器D去判断. 一开始,生成器G还很弱,所以很容易被判断出是假的. 但是随着不断的训练,生成器G技能不断提升,最终骗过了判别器…
深度学习框架 Torch 7 问题笔记 1. 尝试第一个 CNN 的 torch版本, 代码如下: -- We now have 5 steps left to do in training our first torch neural network -- 1. Load and normalize data -- 2. Define Neural Network -- 3. Define Loss function -- 4. Train network on training data -…
1. Logistic回归是用于二分分类的算法. 对于m个样本的训练集,我们可能会习惯于使用for循环一个个处理,但在机器学习中,是把每一个样本写成一个列向量x,然后把m个列向量拼成一个矩阵X.这个矩阵是nx*m大小,nx是每个样本的特征数量,m是样本个数,X.shape=(nx,m).也可以把特征写成横向量然后竖着拼成m*n的矩阵,NG说前一种列向量的表示方便运算.输出Y是1*m的向量,Y.shape=(1,m). 把样本表示成矩阵形式后,可以对它进行线性操作wTx+b,由于二分分类的标签为0…