word2vec
分为CBOW(Continuous Bag of Word)和Skip-Gram两种模式。
CBOW是从原始语句中推测目标字词,而Skip-Gram是从目标字词中推测原始语句。CBOW对小型数据比较合适,Skip-Gram适合大型数据。
训练过程是区分真实的目标词汇和编造的目标词汇(噪声),因此当模型预测真实的目标词汇为高概率,同时预测噪声词汇为低概率,学习目标就为最优了。
Negative Sampling:用编造的噪声词汇训练。
所采取的的loss function为Noise-Contrastive Estimation(NCE)Loss,tensorflow中的表达为tf.nn.nce_loss()
urllib库:是python内置的HTTP请求库,包含urllib.request 请求模块;urllib.error 异常处理模块;urllib.parse url解析模块;urllib.robotparser robots.txt解析模块等
zipfile库:zip是一种压缩归档的文件,该库可用来判断是否为zip类型文件,从压缩文件中读取文件内容、压缩到指定文件。
collections库:python内置的库,提供很多有用的集合。
TensorFlow内嵌函数:
1.tf.placeholder(dtype,shape=None,name=None)
2.tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 实现卷积
3.tf.nn.max_pool(value, ksize, strides, padding, name=None) 最大池化
4.tf.nn.relu(features, name=None) #relu激活函数,一般feature是卷积加上bias
5.tf.reshape(tensor, shape, name=None) 数据重定形状函数
6.tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None) #keep_prob是保留比例
7.tf.argmax(input, axis=None, name=None, dimension=None) #对矩阵按行或列计算最大值,0为列,1为行
8.tf.cast(x, dtype, name=None) #类型转换函数
9.class tf.train.AdamOptimizer
__init__(learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, use_locking=False, name='Adam')
#AdamOptimizer优化算法
10.tf.Graph() #画布,整合一段代码为一个整体存在一个图中
常用方法:with graph.as_defult():
sklearn.manifold.TENE函数可实现降维
from sklearn.manifold import TSNE tsne=TSNE(perplexity=30,n_components=2,init='pca',n_iter=5000)
将30维的输入perplexity,通过pca的方法,转化为2维的输出。
强化学习:主要用来解决连续决策问题。
tensorboard使用方法
tensorboard是Tensorflow可视化工具,可用来展现TensorFlow图像,绘制图像生成的定量指标图以及附加数据。
tf.summary.FileWriter——用于将汇总数据写入磁盘
tf.summary.scalar——对标量数据汇总和记录
tf.summary.histogram——记录数据的直方图
tf.summary.image——将图像写入summary
tf.summary.merge——对各类的汇总进行一次合并
tf.summary.merge_all——合并默认图像中的所有汇总