softmax

Deep_Learning_Task1: Linear_Regression/Softmax/MLP

♀尐吖头ヾ 提交于 2020-02-15 08:37:07
一 、Linear_Regression 1_线性回归的基本要素 模型 (model) 数据集 (data set):训练数据集(training data set) and 训练集(training set) 损失函数 (price function):用来衡量损失值和真实值的误差,数值越小代表误差越小 优化函数_随机梯度下降 (optimical function_random gradient descent) 在模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接被公式表达出来,这类解叫做解析解(analytical solution) 大多数深度学习的模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值,这类解叫做数值解(numerical solution) 小批量随机梯度下降(mini-batch stochastic gradient descent)—— 求解数值解的优化算法: step1:选取一组模型参数的初始值 step2:对参数进行多次迭代,使每次迭代都降低损失函数的值 step3:在每次迭代的过程中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量 step4:求小批量中数据样本的平均损失有关模型参数的导数(梯度descent) step5:用此结果与预先设定的一个正数的乘机作为模型参数在本次迭代的减小量

深度学习 day1

空扰寡人 提交于 2020-02-15 08:28:49
书籍链接: http://tangshusen.me/Dive-into-DL-PyTorch/#/ 一、线性回归 对于「线性模型」的内容,那我们就来看看「西瓜书」「统计学习方法」「ESL」「PRML」这几本书大概是怎么来讲解这部分内容的。 (1)「西瓜书」 「西瓜书」在第三章中展开了对「线性模型」的讨论,首先是介绍了线性模型「基本形式」,无论是线性回归还是线性分类,都是基于这个基本的线性模型的形式而来。 然后,「西瓜书」介绍了在「基本形式」的基础上,如何来构建「一元线性回归」问题的目标函数,其中的关键点在于如何衡量模型输出的预测值y_hat与数据真实的真实label值y的差距。这里「西瓜书」默认使用了均方误差的距离估计指标,但是我们要知道这并不是唯一的选择。在构建好「一元线性回归」的目标函数后,我们就可以来尝试进行求解了。我们的目标是找到对应的w 和b 使得我们minE()的目标实现,而这里介绍了一种解析解的求法,也就是最小二乘法。 在介绍完一元的情况后,「西瓜书」开始介绍多元的情景,这里值得注意的是(3.10)与(3.11)之间的那个XTX的满秩假设或者正定假设通常是不成立的,因此实际上我们需要在这个地方加入正则化方法,这种方法在我们面对最优化问题的时候也非常常用。 接着,「西瓜书」开始讲解「线性分类」模型。也就是所谓的对数几率回归(log odds)

Softmax和分类模型学习笔记

时光怂恿深爱的人放手 提交于 2020-02-15 05:33:20
Softmax概念:   Softmax 函数主要用于多分类问题。由于网络层的输出的区间一般是无法确定的,所以就需要将结果进行 generalize , softmax 的工作就是将输出转化为值为正且同一组输出值的和为1的一组概率值,将所有输出结果放入到同一个标尺中进行衡量,能够更加有效的估计输出值的误差。  理解起来也很容易,将大家看为一个整体,以整体为一个基准,看每个输出在整体中的占比(影响力)。这种方法也叫 归一化 ,在数据预处理时经常会看到。  假设最终预测结果为三类,分别为 y 1 , y 2 , y 3 y_1,y_2,y_3 y 1 ​ , y 2 ​ , y 3 ​ ,特征为 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x 1 ​ , x 2 ​ , x 3 ​ , x 4 ​ ,经过网络层后的输出值为 o 1 , o 2 , o 3 o_1,o_2,o_3 o 1 ​ , o 2 ​ , o 3 ​ , y ^ 1 , y ^ 2 , y ^ 3 \hat{y}_{1},\hat{y}_{2},\hat{y}_{3} y ^ ​ 1 ​ , y ^ ​ 2 ​ , y ^ ​ 3 ​ 为经过 softmax 处理后的分类结果。其式子如下: o 1 = x 1 w 11 + x 2 w 21 + x 3 w 31 + x 4 w 41

《动手学深度学习》笔记 Task01:线性回归;Softmax与分类模型、多层感知机

最后都变了- 提交于 2020-02-15 04:34:15
一、线性回归 主要内容: 1.线性回归的解释 2.线性回归模型的基本要素 3.线性回归模型的两种实现方式 1.线性回归的解释 线性回归,就是能够用一个直线较为精确地描述数据之间的关系。这样当出现新的数据的时候,就能够预测出一个简单的值。线性回归中最常见的就是房价的问题。一直存在很多房屋面积和房价的数据,如下图所示: 在这种情况下,就可以利用线性回归构造出一条直线来近似地描述放假与房屋面积之间的关系,从而就可以根据房屋面积推测出房价。 线性回归输出是一个连续值,因此适用于回归问题 。回归问题在实际中很常见,如预测房屋价格、气温、销售额等连续值的问题。与回归问题不同,分类问题中模型的最终输出是一个离散值。我们所说的图像分类、垃圾邮件识别、疾病检测等输出为离散值的问题都属于分类问题的范畴。softmax回归则适用于分类问题。 由于 线性回归和softmax回归都是单层神经网络 ,它们涉及的概念和技术同样适用于大多数的深度学习模型。 2.线性回归模型的基本要素 2.1 模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: 2.2 模型训练 接下来我们需要通过数据来寻找特定的模型参数值,使模型在数据上的误差尽可能小。这个过程叫作模型训练(model

线性回归、softmax回归

别等时光非礼了梦想. 提交于 2020-02-15 01:25:02
一、线性回归基本要素 1、模型线性回归假设输出与各个输入之间是线性关系, 例如: price=warea​⋅area+wage​⋅age+b 2、训练数据集(training data set)或训练集(training set):收集的真实数据,在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。3、 损失函数模型训练中,通常采用平方误差函数衡量价格预测值与真实值之间的误差。数值越小表示误差越小。 表达式为 4、优化函数-随机梯度下降 先选取一组模型参数的初始值,如随机选取;接下来对参数进行多次迭代,使每次迭代都可能降低损失函数的值。在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量(mini-batch),然后求小批量中数据样本的平均损失有关模型参数的导数(梯度),最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量 其中 为学习率,即学习步长的大小 为批量大小 优化模型有两个步骤: (1)初始化模型参数 (2)在数据上多次迭代,通过在负梯度方向来更新模型参数pytorch的一些使用: 1、torch.ones(n):创建n维1张量 2、torch.zeros(n):创建n维0张量

softmax详解

回眸只為那壹抹淺笑 提交于 2020-02-15 00:30:33
1.softmax初探 在机器学习尤其是深度学习中,softmax是个非常常用而且比较重要的函数,尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。 首先我们简单来看看softmax是什么意思。顾名思义,softmax由两个单词组成,其中一个是max。对于max我们都很熟悉,比如有两个变量a,b。如果a>b,则max为a,反之为b。用伪码简单描述一下就是 if a > b return a; else b。 另外一个单词为soft。max存在的一个问题是什么呢?如果将max看成一个分类问题,就是非黑即白,最后的输出是一个确定的变量。更多的时候,我们希望输出的是取到某个分类的概率,或者说,我们希望分值大的那一项被经常取到,而分值较小的那一项也有一定的概率偶尔被取到,所以我们就应用到了soft的概念,即最后的输出是每个分类被取到的概率。 2.softmax的定义 首先给一个图,这个图比较清晰地告诉大家softmax是怎么计算的。 (图片来自网络) 假设有一个数组V,ViVi表示V中的第i个元素,那么这个元素的softmax值为: Si=ei∑jej Si=ei∑jej 该元素的softmax值,就是该元素的指数与所有元素指数和的比值。 这个定义可以说很简单,也很直观。那为什么要定义成这个形式呢?原因主要如下。 1

动手学深度学习PyTorch版-task01

☆樱花仙子☆ 提交于 2020-02-14 21:32:31
task0101.线性回归 优化函数 - 随机梯度下降 当模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解(analytical solution)。本节使用的线性回归和平方误差刚好属于这个范畴。然而,大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解叫作数值解(numerical solution)。 在求数值解的优化算法中,小批量随机梯度下降(mini-batch stochastic gradient descent)在深度学习中被广泛使用。它的算法很简单:先选取一组模型参数的初始值,如随机选取;接下来对参数进行多次迭代,使每次迭代都可能降低损失函数的值。在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量(mini-batch)β,然后求小批量中数据样本的平均损失有关模型参数的导数(梯度),最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。 读取数据时的一段代码理解 def data_iter(batch_size, features, labels): num_examples = len(features) indices = list(range(num_examples)) random.shuffle(indices) # random

softmax和分类模型

你说的曾经没有我的故事 提交于 2020-02-14 20:47:16
softmax和分类模型 内容包含: softmax回归的基本概念 如何获取Fashion-MNIST数据集和读取数据 softmax回归模型的从零开始实现,实现一个对Fashion-MNIST训练集中的图像数据进行分类的模型 使用pytorch重新实现softmax回归模型 softmax的基本概念 分类问题 一个简单的图像分类问题,输入图像的高和宽均为2像素,色彩为灰度。 图像中的4像素分别记为 \(x_1, x_2, x_3, x_4\) 。 假设真实标签为狗、猫或者鸡,这些标签对应的离散值为 \(y_1, y_2, y_3\) 。 我们通常使用离散的数值来表示类别,例如 \(y_1=1, y_2=2, y_3=3\) 。 权重矢量 \[ \begin{aligned} o_1 &= x_1 w_{11} + x_2 w_{21} + x_3 w_{31} + x_4 w_{41} + b_1 \end{aligned} \] \[ \begin{aligned} o_2 &= x_1 w_{12} + x_2 w_{22} + x_3 w_{32} + x_4 w_{42} + b_2 \end{aligned} \] \[ \begin{aligned} o_3 &= x_1 w_{13} + x_2 w_{23} + x_3 w_{33} + x_4 w_{43} +

动手深度学习task2——softmax

假如想象 提交于 2020-02-14 20:22:05
softmax与分类模型 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lXrlQNpD-1581673070121)(attachment:image.png)] torchvision包主要用来构建计算机视觉模型。 1.torchvision.datasets: 一些加载数据的函数及常用的数据集接口 2.torchvision.models:包含常用的模型结构(包括预训练模型),例如AlexNet、VGG、ResNet等 3.torchvision.transforms:常见的图片变换,例如裁剪、旋转等 4.torchvision.utils:其他的一些有用的方法 # 获取数据集 import torch import torchvision import torchvision . transforms as transforms import matplotlib . pyplot as plt import time import sys sys . path . append ( ".." ) 获取Fashion-MNIST训练集和读取数据 我们通过torchvision的torchvision.datasets来下载这个数据集。第一次调用时会自动从网上获取数据。我们通过参数train来指定获取训练数据集或测试数据集。

CS224n学习笔记(一)

旧巷老猫 提交于 2020-02-14 04:30:40
How do we have usable meaning in a computer? Represents the words as discrete symbols, (离散型变量) Use the one-hot vector to represent the word in sentence, (Traditional way, we can use Distributional semantics) Distributional semantics : A word's meaning is giving by words that frequently appear close-by. when a word w appear in a text, its context words is the set of words that appears nearby. We can use many contexts of w to build up a representation of w . Word Vector :We build a dense(稠密的) vector for each word, chosen so that it's similar to vector of words that appear in similar contexts, it