机器学习
文章平均质量分 73
大雄没有叮当猫
好好学习,天天向上
展开
-
Seq2Seq详解及实现
1.Seq2Seq是什么? Seq2Seq学习是训练一个模型,将来自一个领域的序列(例如英语语句)转换为另一个领域的序列(例如法语)。"the cat sat on the mat" -> [Seq2Seq model] -> "le chat etait assis sur le tapis" Seq2Seq模型可以用于机器翻译或者自由问答(在给定自然语言问题的情况下生成自然语言答案)。通常,它可以在任何需要生成文本的情况下使用。 我们可以使用多种方法来处理Seq2Seq任务,翻译 2020-08-23 15:09:22 · 6092 阅读 · 0 评论 -
tf.contrib.rnn.static_bidirectional_rnn和MultiRNNCell构建多层静态双向LSTM
import tensorflow as tfimport numpy as np# 设置训练参数learning_rate = 0.01max_examples = 40batch_size = 128display_step = 10 # 每间隔10次训练就展示一次训练情况n_input = 100#词向量维度n_steps = 300#时间步长fw_n_hidden...原创 2018-09-19 20:44:09 · 1912 阅读 · 2 评论 -
tf.nn.bidirectional_dynamic_rnn和MultiRNNCell构建双向多层RNN(LSTM)
import tensorflow as tfimport numpy as npX = np.random.randn(10, 5, 5) # 输入数据,批次、序列长度、样本维度# 第二个样本的维度为3X[1, 2:] = 0stacked_rnn = []stacked_bw_rnn = []for i in range(3): stacked_rnn....原创 2018-09-19 20:39:49 · 2351 阅读 · 1 评论 -
tensorflow损失函数之:softmax_cross_entropy_with_logits和softmax_cross_entropy_with_logits_v2的区别
tf.nn.softmax_cross_entropy_with_logits( _sentinel=None, labels=None, logits=None, dim=-1, name=None)tf.nn.softmax_cross_entropy_with_logits_v2( _sentinel=None, label...原创 2018-09-19 20:06:15 · 2220 阅读 · 0 评论 -
tensorflow之损失函数:sparse_softmax_cross_entropy_with_logits 与 softmax_cross_entropy_with_logits的区别
原函数: tf.nn.sparse_softmax_cross_entropy_with_logits( _sentinel=None, labels=None, logits=None, name=None)tf.nn.softmax_cross_entropy_with_logits( _sentinel=None, labels=N...原创 2018-09-19 19:33:42 · 727 阅读 · 0 评论 -
tensorflow学习之softmax使用详解
1. 什么是SoftmaxSoftmax 在机器学习和深度学习中有着非常广泛的应用。尤其在处理多分类(C > 2)问题,分类器最后的输出单元需要Softmax 函数进行数值处理。关于Softmax 函数的定义如下所示:其中,Vi 是分类器类别的输出。i 表示类别索引,总的类别个数为 C。Si 表示的是当前元素的指数与所有元素指数和的比值。Softmax 将多分类的输出数值转化为相...原创 2018-09-25 10:39:48 · 26442 阅读 · 0 评论 -
感知机算法原理
微信公众号:数据挖掘与分析学习感知机是一种二分类的线性模型。输入为数据的特征向量,输出为对应的类别,在感知机中取+1和-1。感知机通过寻找一个超平面,将特征空间进行先行划分,正确分离为正负两类。通过导入基于误分类的损失函数,利用梯度下降来最小化损失函数,从而求得感知机模型。利用感知机模型对新的输入数据进行预测分类。感知机算法简单、易于实现,是神经网络和支持向量机的基础。1.感知机模型输...原创 2018-09-11 09:24:18 · 1534 阅读 · 0 评论 -
tensorflow在文本处理中的使用——辅助函数
微信公众号:数据挖掘与分析学习代码来源于:tensorflow机器学习实战指南(曾益强 译,2017年9月)——第七章:自然语言处理代码地址:https://github.com/nfmcclure/tensorflow-cookbook在讲述skip-gram,CBOW,Word2Vec,Doc2Vec模型时需要复用的函数加载数据函数 归一化文本函数 生成词汇表函数 生成单...转载 2018-09-14 09:38:42 · 870 阅读 · 0 评论 -
TensorFlow导入数据详解
微信公众号:数据挖掘与分析学习原文地址:https://www.tensorflow.org/programmers_guide/datasets 基础机制 Dataset构建 创建迭代器 从迭代器中获取数据 读入输入数据 使用Numpy数组 使用TFRecord数据 使用文本数据 使用Dataset.map() 预处理数据 解析...转载 2018-09-13 21:55:06 · 668 阅读 · 0 评论 -
使用tensorflow对原始文本数据进行预处理
微信公众号:数据挖掘与分析学习现在关于tensorflow的教程还是太少了,有也都是歪果仁写的。比如以下几个: TensorFlow-Examples tensorflow_tutorials TensorFlow-Tutorials Tensorflow-101 个人感觉这些教程对于新手来说讲解的并不细致,几乎都是作者写好了代码放到ipython notebook上,大家下载到本地run一r...转载 2018-09-13 21:33:34 · 3569 阅读 · 0 评论 -
tensorflow学习之GRUCell详解
tf.contrib.rnn.GRUCellAliases:Class tf.contrib.rnn.GRUCell Class tf.nn.rnn_cell.GRUCell门控循环单元cell__init__( num_units, activation=None, reuse=None, kernel_initializer=No...原创 2018-09-23 15:58:41 · 16727 阅读 · 2 评论 -
tf.nn.dynamic_rnn和MultiRNNCell构建多层动态LSTM
import tensorflow as tf;import numpy as np;X = tf.random_normal(shape=[3, 5, 6], dtype=tf.float32)X = tf.reshape(X, [-1, 5, 6])stacked_rnn=[]for i in range(3): stacked_rnn.append(tf.contrib...原创 2018-09-19 20:45:11 · 4234 阅读 · 0 评论 -
tensorflow之tf.nn.static_bidirectional_rnn详解
tf.nn.static_bidirectional_rnnAliases:tf.contrib.rnn.static_bidirectional_rnn tf.nn.static_bidirectional_rnntf.nn.static_bidirectional_rnn( cell_fw, cell_bw, inputs, initial_sta...原创 2018-09-20 21:33:51 · 4519 阅读 · 0 评论 -
tensorflow学习之LSTMStateTuple详解
Class LSTMStateTupleAliases:Class tf.contrib.rnn.LSTMStateTuple Class tf.nn.rnn_cell.LSTMStateTuple用于存储LSTM单元的state_size,zero_state和output state的元组。按顺序存储两个元素(c,h),其中c是隐藏状态,h是输出。只有在state_is_tuple...原创 2018-09-22 20:07:22 · 8344 阅读 · 1 评论 -
tensorflow学习之bidirectional_dynamic_rnn使用详解
tf.nn.bidirectional_dynamic_rnntf.nn.bidirectional_dynamic_rnn( cell_fw, cell_bw, inputs, sequence_length=None, initial_state_fw=None, initial_state_bw=None, dtype=None...原创 2018-09-22 19:48:04 · 5973 阅读 · 0 评论 -
tensorflow学习之LSTMCell详解
Class tf.contrib.rnn.LSTMCell继承自:LayerRNNCellAliases:Class tf.contrib.rnn.LSTMCell Class tf.nn.rnn_cell.LSTMCell长短时记忆单元循环网络单元。默认的non-peephole是基于http://www.bioinf.jku.at/publications/older/2604...原创 2018-09-22 11:27:55 · 23188 阅读 · 0 评论 -
tensorflow学习之BasicLSTMCell详解
tf.contrib.rnn.BasicLSTMCell继承自:LayerRNNCellAliases:Class tf.contrib.rnn.BasicLSTMCell Class tf.nn.rnn_cell.BasicLSTMCell基础的LSTM循环网络单元,基于http://arxiv.org/abs/1409.2329.实现。将forget_bias(默认值:1)添加...原创 2018-09-21 23:13:06 · 21612 阅读 · 1 评论 -
tensorflow学习之static_rnn使用详解
tf.nn.static_rnnAliases:tf.contrib.rnn.static_rnn tf.nn.static_rnn使用指定的RNN神经元创建循环神经网络tf.nn.static_rnn( cell, inputs, initial_state=None, dtype=None, sequence_length=N...原创 2018-09-21 17:01:36 · 8148 阅读 · 0 评论 -
BasicRNNCell 和 BasicLSTMCell 的 output
在BasicRNNCell 和 BasicLSTMCell 的类中调用了call方法会得到output。由上图可知h对应了BasicRNNCell的state_size。 那么y是不是对应了BasicRNNCell的output_size呢? 答案是否定的!通过“ return output, output”,可以看出在 BasicRNNCell 中, output真实和隐状态的值...转载 2018-09-21 16:23:40 · 876 阅读 · 0 评论 -
《统计学习方法》摘记之朴素贝叶斯法
朴素贝叶斯(naive Bayes)法是基于贝叶斯定理和特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。1.朴素贝叶斯法的学习与分类1.1 学习给定输入集合X,输出集合Y,P(X,Y)是输入X和输出Y的联合概率分布。训练数据集:由P(X,Y)独立同分布产生...原创 2018-09-20 16:57:37 · 500 阅读 · 0 评论 -
《深度学习》摘记之前馈神经网络(2):学习XOR
为了使前馈神经网络更加具体,通过解决一个简单的任务:学习XOR函数来加深理解。XOR函数(异或)是两个二进制值x1和x2的运算。当x1和x2中恰有一个为1时,函数返回1,否则返回0。我们想要学习的目标函数y=f*(x),模型给出了一个函数y=f(x;θ),学习算法通过不断调整参数θ来使得f尽可能接近f*。在该示例中,我们不关心模型的泛化能力。给定4个训练数据点X={[0,0]T,[0,1]...原创 2018-09-20 13:58:06 · 2761 阅读 · 0 评论 -
机器学习之Numpy基本用法(二)
微信公众号:数据挖掘与分析学习1.复制和视图在操作数组时,有时会将数据复制到新数组中,有时则不会。 这通常是初学者混淆的根源。 有三种情况:1.1 不复制简单的赋值不会复制数组对象或其数据。Python将可变对象作为引用传递,因此函数调用不会复制。1.2 视图或浅拷贝不同的数组对象可以共享相同的数据。 view方法创建一个查看相同数据的新数组对象。对数组...原创 2018-09-15 10:40:12 · 343 阅读 · 1 评论 -
机器学习之Numpy基本用法(一)
微信公众号:数据挖掘与分析学习1.基础NumPy的主要对象是同构的多维数组。它是一个元素表(通常是数字),都是相同的类型,由正整数元组索引。在NumPy维度中称为轴。轴数是等级。例如,3D空间[1,2,1]中的点的坐标是等级1的数组,因为它具有一个轴。该轴的长度为3.在下图所示的示例中,数组具有等级2(它是2维的)。第一维(轴)的长度为2,第二维的长度为3。[[ 1., 0., 0...原创 2018-09-15 10:38:39 · 3732 阅读 · 0 评论 -
机器学习之决策树算法原理详解
微信公众号:数据挖掘与分析学习在本文中,我们将讨论决策树背后的理论和工作原理。 我们将看到该算法的一些数学知识,即熵和信息增益。1.动机假设我们有以下两个类别的图,由黑色圆圈和蓝色方块表示。 是否可以画一条分离线将两个类别分开? 也许没有。你能花一条线将它们分开吗?我们需要不止一条线来将上面的类分开。 与下图类似:我们在这里需要两条线,一条线根据x的阈值分割,另一条...翻译 2018-09-18 16:52:35 · 997 阅读 · 0 评论 -
机器学习之Logistic算法原理详解
微信公众号:数据挖掘与分析学习逻辑回归(Logistic Regression)是一种借鉴统计领域的机器学习技术。它是二类分类问题的首选方法。在这篇文章中,您将发现用于机器学习的逻辑回归算法。在读完这篇文章后,您将了解到:描述逻辑回归时的许多专有名称和术语(如 log odds和logit)。 逻辑回归模型中的表达式。 用于从数据中学习逻辑回归模型系数的技术。 如何使用学习好的逻辑回...原创 2018-09-13 09:53:16 · 4901 阅读 · 0 评论 -
tensorflow神经网络训练流程
微信公众号:数据挖掘与分析学习1.导入所需的库 from __future__ import print_function from tensorflow.examples.tutorials.mnist import input_data import tensorflow as tf 2.数据准备 mnist=input_data.read_...原创 2018-09-17 20:51:56 · 1124 阅读 · 0 评论 -
Spark Mllib之线性回归
微信公众号:数据挖掘与分析学习1. 线性最小二乘,Lasso回归和岭回归线性最小二乘法是回归问题的最常见公式。损失函数如下:通过使用不同类型的正则化来导出各种相关的回归方法:普通最小二乘或线性最小二乘不使用正则化; 岭回归使用L2正则化; Lasso使用L1正则化。对于所有这些模型,平均损失或训练误差,被称为均方误差。MLlib的所有方法都使用Java友好类型,因此您可...原创 2018-09-06 08:54:45 · 1915 阅读 · 0 评论 -
Spark Mllib之数据类型 - 基于RDD的API
微信公众号:数据挖掘与分析学习MLlib支持存储在单个机器上的局部向量和矩阵,以及由一个或多个RDD支持的分布式矩阵。局部向量和局部矩阵是用作公共接口的简单数据模型。其底层线性代数运算由Breeze提供。在监督学习中使用的训练示例在MLlib中称为“labeled point”。1.局部向量(Local Vector)局部向量具有整数类型和基于0的索引和双精度浮点型,存储在单个机器上。...原创 2018-09-03 09:02:23 · 582 阅读 · 0 评论 -
Spark Mllib之基本统计 - 基于RDD的API
1.概要统计(Summary statistics)我们通过Statistics中提供的函数colStats为RDD [Vector]提供列摘要统计信息。colStats()返回MultivariateStatisticalSummary的一个实例,其中包含列的max,min,mean,variance和非零数,以及总计数。 SparkConf conf = new SparkC...原创 2018-09-03 08:48:16 · 610 阅读 · 0 评论 -
pytorch:torch.clamp()
torch.clamp(input, min, max, out=None) → Tensor将输入input张量每个元素的夹紧到区间 [min,max][min,max],并返回结果到一个新张量。操作定义如下: | min, if x_i < miny_i = | x_i, if min <= x_i <= max | max, if ...原创 2018-09-11 16:02:43 · 175974 阅读 · 15 评论 -
pytorch:torch.mm()和torch.matmul()
微信公众号:数据挖掘和分析学习torch.mm(mat1, mat2, out=None) → Tensortorch.matmul(mat1, mat2, out=None) → Tensor对矩阵mat1和mat2进行相乘。 如果mat1 是一个n×m张量,mat2 是一个 m×p 张量,将会输出一个 n×p 张量out。参数 :mat1 (Tensor) – 第一个相乘矩...原创 2018-09-11 15:51:36 · 68293 阅读 · 8 评论 -
Spark Mllib之集成算法:梯度提升树和随机森林
微信公众号:数据挖掘与分析学习集成算法是将其他基础模型进行组合的一中算法。spark.mllib支持两种主要的集成算法:GradientBoostedTrees和RandomForest。 两者都使用决策树作为基础模型。 1.梯度提升树和随机森林Gradient-Boosted Trees(GBTs)和Random Forest都是用于学习树集成的算法,但训练过程是不同的。 有几个...原创 2018-09-05 08:45:05 · 1854 阅读 · 0 评论 -
Spark中的稀疏矩阵
SparkMLlib中的稀疏矩阵写法是这样的: Matrices.sparse(3,2,Array(0,1,3), Array(0,2,1), Array(9,6,8)) 或者写成这样:Matrices.sparse(3, 2, [0, 1, 3], [0, 2, 1], [9, 6, 8])这是一个3×2的即3行2列的矩阵写法 这个东西执行完结果是这样的:(0,0) 9....转载 2018-09-02 20:25:40 · 1375 阅读 · 1 评论 -
Spark Mllib之相关性计算和假设检验
Spark Mllib之相关性计算和假设检验原创: 小小虫一、皮尔逊相关性和斯皮尔曼相关性1.1 皮尔逊相关性要理解 Pearson 相关系数,首先要理解协方差(Covariance)。协方差表示两个变量 X,Y 间相互关系的数字特征,其计算公式为:Pearson 相关系数公式如下:由公式可知,Pearson 相关系数是用协方差除以两个变...原创 2018-09-02 16:28:35 · 2438 阅读 · 0 评论 -
Spark Mllib之线性SVM和逻辑回归
微信公众号:数据挖掘与分析学习1.Mathematical formulation许多标准机器学习方法可以被公式化为凸优化问题,即找到取决于具有d个条目的变量向量w(在代码中称为权重)的凸函数f的最小化的任务。形式上,我们可以将其写为优化问题,其中目标函数形式如下:这里向量xi∈Rd是训练数据的样本,对于1≤i≤n,yi∈R是它们对应的我们想要预测的标签。如果L(w; x,y)可以...原创 2018-09-04 09:14:46 · 1409 阅读 · 0 评论 -
tensorflow之过拟合和欠拟合问题
同前面的示例一样,此示例中的代码将使用tf.keras API,您可以在TensorFlow Keras指南中了解更多信息。在之前的两个例子中 - 电影评论分类和预测住房价格 - 我们看到模型对验证数据的准确性在经过多个epochs的训练后会达到峰值,然后开始下降。换句话说,我们的模型会过度拟合训练数据。学习如何处理过度拟合很重要。尽管通常可以在训练集上实现高精度,但我们真正想要的是开发出...翻译 2018-08-15 16:11:31 · 4056 阅读 · 1 评论 -
Spark Mllib之决策树-分类与回归
微信公众号:数据挖掘与分析学习决策树及其集成算法是分类和回归的机器学习任务的流行方法。决策树被广泛使用,因为它们易于解释,处理分类特征,扩展到多类分类设置,不需要特征缩放,并且能够捕获非线性和特征交互。诸如随机森林和提升树集成算法是分类和回归任务中表现较好的算法。spark.mllib支持使用连续和分类特征进行二分类和多类分类以及回归的决策树。该实现按行分区数据,允许数百万个实例的分布式训...原创 2018-09-06 09:21:42 · 4155 阅读 · 0 评论 -
tensorflow实现logistic回归进行手写字识别
1.数据准备 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #加载mnist数据 mnist=input_data.read_data_sets('/data/machine_learning/mnist/',one_hot=True) #使用o...原创 2018-09-16 10:10:40 · 347 阅读 · 0 评论 -
tensorflow之算术运算符:truediv、floordiv、realdiv、truncatediv
微信公众号:数据挖掘与分析学习1. tf.truediv按元素除法x / y(使用Python 3除法运算符语义)。注意:首选使用Tensor运算符或遵循Python除法运算符语义的tf.divide。此函数强制使用Python 3除法运算符语义,其中所有整数参数首先转换为浮点类型。 此op由Python 3中的正常x / y除法和带有__future__ import divisio...原创 2018-09-17 20:49:40 · 16230 阅读 · 0 评论 -
Spark Mllib之聚类算法--基于RDD
微信公众号:数据挖掘与分析学习聚类是一种无监督的学习问题,目标是基于一些相似概念将实体的子集彼此分组。聚类通常用于探索性分析和/或作为分层监督学习管道的组成部分(其中针对每个聚类训练不同的分类器或回归模型)。spark.mllib 包支持下列模型:K-means Gaussian mixture1.K-meansK-means是最常用的聚类算法之一,它将数据点聚类为预定义数量的...原创 2018-09-07 10:08:34 · 1176 阅读 · 0 评论