softmax

Word Word2Vec

别来无恙 提交于 2020-02-18 01:30:06
词嵌入(Word Embedding)或者分布式向量(Distributional Vectors)是将自然语言表示的单词转换为计算机能够理解的向量或矩阵形式的技术。由于要考虑多种因素比如词的语义(同义词近义词)、语料中词之间的关系(上下文)和向量的维度(处理复杂度)等等,希望近义词或者表示同类事物的单词之间的距离可以理想地近,只有拿到很理想的单词表示形式,才更容易地去做翻译、问答、信息抽取等进一步的工作。 现在最流行的是Word2Vec。 2013年,Google团队发表了word2vec工具。word2vec工具主要包含两个模型:跳字模型(skip-gram)和连续词袋模型(continuous bag of words,简称CBOW),以及两种高效训练的方法:负采样(negative sampling)和层序softmax(hierarchical softmax)。值得一提的是,word2vec词向量可以较好地表达不同词之间的相似和类比关系。 Word2Vec的分类: Skip-grams(SG): 定义一个概率分布:给定一个中心词汇,生成某个单词在它上下文出现的概率。 用向量表示单词,让概率分布最大化(最大似然概率)。 对于一个词汇,有且只有一个概率分布,是上下文中出现的概率,不是单指左边或者右边出现。 每个单词用两个向量表示!! 关键一点

softmax pytorch从零实现的代码

两盒软妹~` 提交于 2020-02-16 14:24:10
获取Fashion-MNIST训练集和读取数据 在介绍softmax回归的实现前我们先引入一个多类图像分类数据集。它将在后面的章节中被多次使用,以方便我们观察比较算法之间在模型精度和计算效率上的区别。图像分类数据集中最常用的是手写数字识别数据集MNIST[1]。但大部分模型在MNIST上的分类精度都超过了95%。为了更直观地观察算法之间的差异,我们将使用一个图像内容更加复杂的数据集Fashion-MNIST[2]。 我这里我们会使用torchvision包,它是服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型。torchvision主要由以下几部分构成: torchvision.datasets: 一些加载数据的函数及常用的数据集接口; torchvision.models: 包含常用的模型结构(含预训练模型),例如AlexNet、VGG、ResNet等; torchvision.transforms: 常用的图片变换,例如裁剪、旋转等; torchvision.utils: 其他的一些有用的方法。 # import needed package % matplotlib inline from IPython import display import matplotlib . pyplot as plt import torch import

动手学深度-Task1

大兔子大兔子 提交于 2020-02-16 10:10:09
线性回归: 太熟悉了,没什么需要记录的内容。 Softmax回归: 交叉熵 H ( y ( i ) , y ^ ( i ) ) = − ∑ j = 1 q y j ( i ) log ⁡ y ^ j ( i ) , H\left(\boldsymbol y^{(i)}, \boldsymbol {\hat y}^{(i)}\right ) = -\sum_{j=1}^q y_j^{(i)} \log \hat y_j^{(i)}, H ( y ( i ) , y ^ ​ ( i ) ) = − j = 1 ∑ q ​ y j ( i ) ​ lo g y ^ ​ j ( i ) ​ , 分类问题中常用的损失函数,对比起平方损失函数,交叉熵只关心正确类别的概率(当一个样本只有一个标签时,公示中只有某个 y ^ j ( i ) \hat y_j^{(i)} y ^ ​ j ( i ) ​ 的值为1,其余为0, 因此损失函数可以进行简化) softmax函数 输出问题 直接使用输出层的输出有两个问题: 一方面,由于输出层的输出值的范围不确定,我们难以直观上判断这些值的意义。例如,刚才举的例子中的输出值10表示“很置信”图像类别为猫,因为该输出值是其他两类的输出值的100倍。但如果 o 1 = o 3 = 1 0 3 o_1=o_3=10^3 o 1 ​ = o 3 ​ = 1 0 3

《动手学深度学习》Day2:Softmax与分类模型

爱⌒轻易说出口 提交于 2020-02-16 10:08:15
文章目录 一、softmax的基本概念 二、交叉熵损失函数 三、模型训练和预测 四、获取Fashion-MNIST训练集和读取数据 五、softmax的Pytorch简实现 5.1初始化参数和获取数据 5.2 定义网络模型 5.3 初始化模型参数 5.4 定义损失函数 5.5 定义优化函数 5.6 训练 一、softmax的基本概念 1.分类问题 一个简单的图像分类问题,输入图像的高和宽均为2像素,色彩为灰度。 图像中的4像素分别记为 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x 1 ​ , x 2 ​ , x 3 ​ , x 4 ​ 。 假设真实标签为狗、猫或者鸡,这些标签对应的离散值为 y 1 , y 2 , y 3 y_1,y_2,y_3 y 1 ​ , y 2 ​ , y 3 ​ 。 我们通常使用离散的数值来表示类别,例如 y 1 = 1 , y 2 = 2 , y 3 = 3 y_1=1,y_2=2,y_3=3 y 1 ​ = 1 , y 2 ​ = 2 , y 3 ​ = 3 。 2.权重矢量 3.神经网络图 下图用神经网络图描绘了上面的计算。softmax回归同线性回归一样,也是一个单层神经网络。由于每个输出 o 1 , o 2 , o 3 o_1,o_2,o_3 o 1 ​ , o 2 ​ , o 3 ​ 的计算都要依赖于所有的输入

动手学深度学习——学习笔记(Task1)

杀马特。学长 韩版系。学妹 提交于 2020-02-16 10:06:00
作为机器学习的一类,深度学习通常基于神经网络型逐级表示越来越抽象的概念或模式。我们先从线性回归和 softmax 回归这两种单层神经网络,简要介绍机器学习中的基本概念。然后,我们由单层神经网络延伸到多层神经网络,并通多层感知机引出深度学习模型。在观察和了解了模型的过拟合现象后,我们将介绍深度学习中对过拟合的常用方法:权重衰减和丢弃法。 线性回归 线性回归输出是一个连续值,因此适用于回归问题。 线性回归模型表示形式 损失函数 优化算法 随机梯度下降方法 总结 :线性回归基本要素包括模型、训练数据、损失函数和优化算法。 Softmax回归 softmax回归适用于分类问题。 softmax表示形式 softmax运算原理 交叉熵损失函数 总结 :softmax回归是单层神经⽹络,输出个数等于分类问题中的类别个数;交叉熵适合衡量两个概率分布的差异。 多层感知机 多层感知机在单层神经网络的基础上引入了1到多个隐藏层(hidden layer)。隐藏层位于输入和输出层之间。 多层感知机表示形式 数学表达式为 激活函数 常用激活函数有: ReLu函数 sigmoid函数 tanh函数 总结: 多层感知机在输出层与输入层之间加上了1个或多个全连接隐藏层,并通过激活函数对隐藏层输出进行变换。 来源: CSDN 作者: 轻沉 链接: https://blog.csdn.net/qq_44915960

softmax与分类模型

狂风中的少年 提交于 2020-02-16 04:09:16
softmax与分类模型 softmax的基本概念 分类问题 一个简单的图像分类问题,输入图像的高和宽均为2像素,色彩为灰度。 图像中的4像素分别记为 x1,x2,x3,x4 。 假设真实标签为狗、猫或者鸡,这些标签对应的离散值为 y1,y2,y3。 我们通常使用离散的数值来表示类别,例如 y1=1,y2=2,y3=3 。 权重矢量 o1=x1w11+x2w21+x3w31+x4w41+b1 o2=x1w12+x2w22+x3w32+x4w42+b2 o3=x1w13+x2w23+x3w33+x4w43+b3 神经网络图 下图用神经网络图描绘了上面的计算。softmax回归同线性回归一样,也是一个单层神经网络。由于每个输出 o1,o2,o3 的计算都要依赖于所有的输入 x1,x2,x3,x4 ,softmax回归的输出层也是一个全连接层。 来源: CSDN 作者: ClimberSky 链接: https://blog.csdn.net/ClimberSky/article/details/104317542

softmax-pytorch

白昼怎懂夜的黑 提交于 2020-02-15 12:43:28
softmax和分类模型 内容包含: softmax回归的基本概念 如何获取Fashion-MNIST数据集和读取数据 softmax回归模型的从零开始实现,实现一个对Fashion-MNIST训练集中的图像数据进行分类的模型 使用pytorch重新实现softmax回归模型 softmax的基本概念 分类问题 一个简单的图像分类问题,输入图像的高和宽均为2像素,色彩为灰度。 图像中的4像素分别记为 x 1 , x 2 , x 3 , x 4 x_1, x_2, x_3, x_4 x 1 ​ , x 2 ​ , x 3 ​ , x 4 ​ 。 假设真实标签为狗、猫或者鸡,这些标签对应的离散值为 y 1 , y 2 , y 3 y_1, y_2, y_3 y 1 ​ , y 2 ​ , y 3 ​ 。 我们通常使用离散的数值来表示类别,例如 y 1 = 1 , y 2 = 2 , y 3 = 3 y_1=1, y_2=2, y_3=3 y 1 ​ = 1 , y 2 ​ = 2 , y 3 ​ = 3 。 权重矢量 o 1 = x 1 w 11 + x 2 w 21 + x 3 w 31 + x 4 w 41 + b 1 \begin{aligned} o_1 &= x_1 w_{11} + x_2 w_{21} + x_3 w_{31} + x_4 w_{41} + b_1

softmax和分类模型

送分小仙女□ 提交于 2020-02-15 11:17:51
softmax和分类模型 内容包含: 如何获取Fashion-MNIST数据集和读取数据 softmax回归模型的从零开始实现,实现一个对Fashion-MNIST训练集中的图像数据进行分类的模型 使用pytorch重新实现softmax回归模型 softmax的简洁实现 In [63]: # 加载各种包或者模块 import torch from torch import nn from torch.nn import init import numpy as np import sys sys.path.append("/home/kesci/input") import d2lzh1981 as d2l print(torch.__version__) 初始化参数和获取数据 In [64]: batch_size = 256 train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size) 定义网络模型 In [65]: num_inputs = 784 num_outputs = 10 class LinearNet(nn.Module): def __init__(self, num_inputs, num_outputs): super(LinearNet, self).__init__() self

darawhale第一次学习打卡笔记

丶灬走出姿态 提交于 2020-02-15 10:34:54
1.线性回归 线性回归的公式 是一种线性关系 线性回归的损失函数 常用的一种损失函数是均方误差,公式如下 优化函数 这里用的是小批量随机梯度下降法,这种方法也是神经网络中常用的方法 需要注意的点 优化函数的代码 def sgd ( params , lr , batch_size ) : for param in params : param . data -= lr * param . grad / batch_size # ues .data to operate param without gradient track 这里除以了batch_size是因为在后续代码中传入的梯度是求和后标量的梯度 所以要除以batch_size 训练的代码 # super parameters init lr = 0.03 num_epochs = 5 net = linreg loss = squared_loss # training for epoch in range ( num_epochs ) : # training repeats num_epochs times # in each epoch, all the samples in dataset will be used once # X is the feature and y is the label of a

深度学习部分笔记

不羁岁月 提交于 2020-02-15 09:46:11
线性回归部分 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现 线性回归的基本要素 模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: price=warea⋅area+wage⋅age+b 数据集 我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。 损失函数 在模型训练中,我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是平方函数。 它在评估索引为 i 的样本误差的表达式为 l(i)(w,b)=12(y^(i)−y(i))2, L(w,b)=1n∑i=1nl(i)(w,b)=1n∑i=1n12(w⊤x(i)+b−y(i))2. 优化函数 - 随机梯度下降