num

《动手学深度学习》系列笔记 —— 语言模型(n元语法、随机采样、连续采样)

南楼画角 提交于 2020-02-14 21:31:12
目录 1. 语言模型 2. n元语法 3. 语言模型数据集 4. 时序数据的采样 4.1 随机采样 4.2 相邻采样 一段自然语言文本可以看作是一个离散时间序列,给定一个长度为 \(T\) 的词的序列 \(w_1, w_2, \ldots, w_T\) ,语言模型的目标就是评估该序列是否合理,即计算该序列的概率: \[ P(w_1, w_2, \ldots, w_T). \] 1. 语言模型 假设序列 \(w_1, w_2, \ldots, w_T\) 中的每个词是依次生成的,我们有 例如,一段含有4个词的文本序列的概率 \[ P(w_1, w_2, w_3, w_4) = P(w_1) P(w_2 \mid w_1) P(w_3 \mid w_1, w_2) P(w_4 \mid w_1, w_2, w_3). \] 语言模型的参数就是词的概率以及给定前几个词情况下的条件概率。设训练数据集为一个大型文本语料库,如维基百科的所有条目,词的概率可以通过该词在训练数据集中的相对词频来计算,例如, \(w_1\) 的概率可以计算为: 其中 \(n(w_1)\) 为语料库中以 \(w_1\) 作为第一个词的文本的数量, \(n\) 为语料库中文本的总数量。 类似的,给定 \(w_1\) 情况下, \(w_2\) 的条件概率可以计算为: 其中 \(n(w_1, w_2)\) 为语料库中以 \

Codeforces Round #619 (Div. 2)【A、B、C、D】题解(持续更新)

梦想与她 提交于 2020-02-14 21:05:15
涵盖知识点:构造、数学etc. 比赛链接: https://codeforces.com/contest/1301 A: Three Strings 题意:给三个串,每一位必须交换a和c或者b和c。问是否可能交换完成后a=b。 题解:判断每一位是否又a[i]=c[i]或者b[i]=c[i]。 AC代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int main(){ 5 int t; 6 cin>>t; 7 while(t--){ 8 string a,b,c; 9 cin>>a>>b>>c; 10 bool flag=true; 11 for(int i=0;i<a.length();i++){ 12 if(a[i]==c[i]||b[i]==c[i]){ 13 continue; 14 } 15 flag=false; 16 break; 17 } 18 if(flag)cout<<"YES\n"; 19 else cout<<"NO\n"; 20 } 21 return 0; 22 } B: Motarack's Birthday 题意:给一串数字,用k填充所有的-1,使所有相邻两数的差绝对值最小。 题解:记录所有-1两边的非-1数字,最后将所有数字排序后取最小值和最大值的平均值

1103. Distribute Candies to People--Easy

筅森魡賤 提交于 2020-02-14 21:03:13
We distribute some number of candies, to a row of n = num_people people in the following way: We then give 1 candy to the first person, 2 candies to the second person, and so on until we give n candies to the last person. Then, we go back to the start of the row, giving n + 1 candies to the first person, n + 2 candies to the second person, and so on until we give 2 * n candies to the last person. This process repeats (with us giving one more candy each time, and moving to the start of the row after we reach the end) until we run out of candies. The last person will receive all of our remaining

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来指定获取训练数据集或测试数据集。

实体

☆樱花仙子☆ 提交于 2020-02-14 20:08:38
一、线性回归 # import packages and modules % matplotlib inline import torch from IPython import display from matplotlib import pyplot as plt import numpy as np import random print ( torch . __version__ ) 生成数据集 使用线性模型来生成数据集,生成一个1000个样本的数据集,下面是用来生成数据的线性关系: # set input feature number num_inputs = 2 # set example number num_examples = 1000 # set true weight and bias in order to generate corresponded label true_w = [ 2 , - 3.4 ] true_b = 4.2 features = torch . randn ( num_examples , num_inputs , dtype = torch . float32 ) labels = true_w [ 0 ] * features [ : , 0 ] + true_w [ 1 ] * features [ : , 1 ] +

python 数据库连表查询习题

佐手、 提交于 2020-02-14 18:36:30
# 多表查询 # 连表查 # 内连接 必须左表和右表中条件互相匹配的项才会被显示出来 # 表1 inner join 表2 on 条件 # 外链接 会显示条件不匹配的项 # left join 左表显示全部,右表中的数据必须和左表条件互相匹配的项才会被显示出来 # right join 右表显示全部,左表中的数据必须和右表条件互相匹配的项才会被显示出来 # 全外连接 # left join # union # right join # 子查询 # select * from 表 where 字段 = (select 字段 from 表 where 条件) # select * from 表 where 字段 > (select 字段 from 表 where 条件) # select * from 表 where 字段 in (select 字段 from 表 where 条件) # 5\查询至少有一门课与学号为1的同学所学课程相同的同学的学号和姓名; # select course_id from score where student_id =1; # select * from score where course_id in (1,2,4); # select distinct student_id from score where course_id in (select

四则运算出题3

我只是一个虾纸丫 提交于 2020-02-14 17:36:39
1、题目要求: 在之前自动出题程序的基础之上,添加新的功能: ①能判断用户的输入答案是否正确,正确与否,给出提示,若错误,显示正确答案; ② 能处理四则运算的混合算式。 2、实现思路: 出题思路不变,对原来程序生成的算式文本,进行读取每一个算式并进行计算,若输入的答案与结果相等,即计算正确。 3、思路整理(实现步骤): 出题步骤不变,每一行读取生成的算式文本,将其中的算式作为char数组保存,将char数组用栈保存,利用栈来决定计算顺序并计算出结果。 4、源代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6 7 namespace siz 8 { 9 class Program 10 { 11 static int top; 12 static int x1, y1; 13 static int size = 256; 14 static string [] s=new string[size]; 15 16 static double jisuan_ma(char [] str) 17 { 18 int l; 19 double right1; 20 int k=0; 21 char ww; 22

四则运算的进一步改善

你。 提交于 2020-02-14 15:41:00
---恢复内容开始--- 编写一个能对0--10之间的整数进行四则运算的“软件”程序能接收用户输入的整数答案,并判断对错程序结束时,统计出答对、答错的题目数量。补充说明:0——10的整数是随机生成的用户可以用键盘输入来选择四则运算中的一种,比如输入1代表加法运算用户用键盘输入一个字符来结束程序的运行并显示统计结果,比如输入e程序结束并显示统计结果编程语言不限制,命令行输出和图像界面输出都可以。在此基础上,做增量开发。增量内容:1)处理用户的错误输入,比如输入字母或符号等,处理除法运算中分母为0的情况,处理结果为负数的情况,保证是小学水平不出现负数,比如不能出现5-8=-3这种情况; 2)用户可以设定倒计时; 3)用户可以设定随机整数的范围和题目数量;4)用户可以选择哪种计算类型,比如加减乘除,或可选择软件随机生成四则运算中的一种。要求:要有需求分析,具体设计思路,代码实现,测试,书中PSP耗时分析,总结。 设计思路:由于是结对编程,我们选择我的上次作业为基础进行进一步完善,刚开始的前半小时我在向我的队友讲述上次的步骤以及具体实现的方法,他了解后我们开始修改,开始我们各自思考,大约过去40分钟我们相互交流自己的想法,最后我们找到了最好的方法,然后在在此进行完善,实现在一个界面上实现加减剩除我们采用了if方法,比较简单,处理分母不能为零我们采用了判断语句

面向对象程序设计寒假作业3

狂风中的少年 提交于 2020-02-14 14:45:11
面向对象程序设计寒假作业3 面向对象程序设计第二次作业 这个作业属于哪个课程 2020年面向对象程序设计 这个作业要求在哪里 面向对象设计寒假作业3 这个作业的目标 继续完成作业二的编程题,优化架构,思考代码的拓展性,可以参考现有的编程语言,把这些适当的内容加入。 GITHUB仓库 JudgementZero 编程题要求: 优化架构,思考代码的拓展性,比如需要增加其他功能, 如选择,循环语句,参考现有的编程语言扩大数字范围, 支持负数。 在还未着手写相应拓展代码时想应拓展数字范围支持上 百上千上万,以及负数拓展,原函数拓展性属实差劲通 逐步判断输入汉字处理,以及对不同的数字得分类处理 每拓展范围便要求添加大量对拓展范围数字的处理,如 和对拓展范围内的汉字数字输入后逐个字进行转换属实 使得整体编写效率低下,全局变量定义过多导致难以调 试,最终也仅做到拓展到上百,以及负九十九内的负数 还是在大量删改添加的情况下也仅能拓展小范围。 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<cstdlib> using namespace std; int sum_Person = 0; struct Person_info { int money; char Person_name[20]