- 博客(21)
- 收藏
- 关注
原创 残差网络
残差网络残差、误差概念统计学里残差的概念是:模型预测值与实验观测值之差(只针对于回归模型)。这里明确一点就是,模型预测值就是通过数学方法构建的模型本身。可以想象一下,线性回归模型,就是通过数学方法拟合出来的一条直线,这条直线就是模型预测值!那么实验观测值是什么呢?观测值就是数据!仍然以线性回归模型为例,观测值就是分布在直线周围的那些数据点。计算残差时,模型已经确定,是不发生变化的,而数据是根据实验次数的不同要发生变化的,即每次实验取不同的数据。误差的概念比较绕,我总结如下(不一定准确,只是我个人通
2021-05-17 17:04:22
370
原创 假设检验的两类错误
弃真错误也叫第I类错误或α错误:它是指 原假设实际上是真的,但通过样本估计总体后,拒绝了原假设。明显这是错误的,我们拒绝了真实的原假设,所以叫弃真错误,这个错误的概率我们记为α。这个值也是显著性水平,在假设检验之前我们会规定这个概率的大小。取伪错误也叫第II类错误或β错误:它是指 原假设实际上假的,但通过样本估计总体后,接受了原假设。明显者是错误的,我们接受的原假设实际上是假的,所以叫取伪错误,这个错误的概率我们记为β。我们把第一类错误出现的概率用α表示。这个α,就是Significance Level
2020-08-04 20:57:36
4621
原创 Numpy的广播机制(broadcast)
原理:如果两个数组的后缘维度(从末尾开始算起的维度)的轴长度相符或其中一方的长度为1,则认为它们是广播兼容的,广播会在缺失维度或者轴长度为1的维度上进行。举例说明:import numpy as nparr = np.random.randn(4, 3) # -> shape=(4, 3)首先通过计算说明什么是缺失维度demeaned = arr - arr.mean(axis=0) # -> shape=(4, 3) - shape=(3, ) = shape=(4, 3)通
2020-07-05 13:28:49
310
原创 Tensorflow的负采样函数Sampled softmax loss学习笔记
最近阅读了YouTube的推荐系统论文,在代码实现中用到的负采样方法我比较疑惑,于是查了大量资料,总算能够读懂关于负采样的一些皮毛。本文主要针对tf.nn.sampled_softmax_loss这个函数进行讲解,并引申一些数学意义,偏实用性。类别和标签在阅读代码的过程中发现一个问题,就是代码作者先是对样本打y,打y的依据是即user最后时刻观看的视频是否正确,那么这样的话,很明显没有负样本,而且最终的损失函数用的是tf.nn.sampled_softmax_loss,很明显是多分类,那么打二分类标签
2020-07-04 18:47:41
2327
1
原创 DeepCTR——DIN模型部分源码解读
特征构建首先,最重要的是特征构建的部分,DIN用到了三种类型的特征,SparseFeat,DenseFeat和VarLenSparseFeat。SparseFeatSparseFeat由类别型特征构建而成,比如性别特征(男、女),这种特征一般采用one-hot编码,但是如果特征里的类别数量特别多,one-hot编码会使数据变得非常稀疏,在深度模型里一般使用embedding技术对特征降维。...
2020-07-02 23:58:44
3254
原创 字符串的组合——python实现
剑指offer的第38题的拓展题:我在网上没有找到python版的代码实现,所有自己写了一个,有不对的地方欢迎指正。def StringCombination(s): res = [] n = len(s) def recursive(string, m): if not string: return if m =...
2020-04-08 23:25:02
290
原创 Pandas总结
说是总结,其实就是目前做比赛用到的一些语句和踩过的坑。首先我要处理的文件是一个jsonl文件,这个文件其实就是存储了多个json格式数据的文件,处理jsonl文件需要安装jsonllines库,安装方法很简单就是pip。打开文件:t = [[0 for _ in range(3)] for _ in range(5000)] # 首先构造一个二维列表,5000行3列i = 0with j...
2020-03-18 10:38:30
102
原创 隐马尔可夫模型预测算法——维特比算法的Python实现
import numpy as npdef viterbi(A, B, pi, O, Q, V, T): delta = np.zeros(len(Q)) F = np.zeros((len(Q), T)) for j in range(len(Q)): delta[j] = pi[j] * B[j, V[O[0]]] for t in range...
2020-01-06 11:09:20
679
原创 Python实现隐马尔可夫模型的前向后向算法
本篇文章对隐马尔可夫模型的前向和后向算法进行了Python实现,并且每种算法都给出了循环和递归两种方式的实现。文章目录前向算法Python实现循环方式递归方式后向算法Python实现循环方式递归方式前向算法Python实现循环方式import numpy as npdef hmm_forward(Q, V, A, B, pi, T, O, p): """ :param Q...
2019-12-30 21:29:32
1753
原创 隐马尔可夫模型观察序列的生成——Python实现
观测序列生成算法输入:隐马尔可夫模型λ=(A,B,π)\lambda=(A, B, \pi)λ=(A,B,π)输出:观测序列O=(o1,o2,...,oT)O=(o_1,o_2,...,o_T)O=(o1,o2,...,oT)(1)按照初始状态分布π\piπ产生状态i1i_1i1(2)令t=1t=1t=1(3)按照状态iti_tit的观测概率分布bit(k){b_i}_t(k)...
2019-12-28 17:20:43
1009
原创 NLP学习5——kaggle比赛入门之烂番茄电影评论情感分析
该项目我是在谷歌的Colab平台完成的,首先,要先查看数据import os os.chdir("drive/Colab Notebooks/NLP/Rotten Tomatoes movie review")import pandas as pdtrain = pd.read_csv("train.tsv", sep='\t')test = pd.read_csv("test.tsv"...
2019-12-23 21:18:39
3015
1
原创 python实现TF-IDF算法
关于TF-IDF算法的具体公式可以参考我前面的博文,然后我在这里对TF-IDF算法做一个总结,代码中num_text就是整个语料库的大小,在我的示例中,它包含2个句子。有些单词在一个句子中出现频率很高,说明该单词具有专业性,而类似the,is,as这样的词汇在每个句子中基本都会出现,它的实际意义就很小,所以,TF-IDF算法就是为了降低这些无意义词的权重。示例中的第一个句子我用分别写了3个dog...
2019-12-21 22:17:34
611
原创 NLP学习4——IMDB电影情感分析
kaggle竞赛:Bag of Words Meets Bags of Popcorn目的:根据给出的训练数据集提取相关文本特征,训练一个合适的分类模型能够对测试集的review正确分类。一、词袋特征有关词袋模型的解释请看我的博文朴素贝叶斯一章。下面我只讲解用sklearn构造词袋特征。import numpy as npimport pandas as pdtrain_data = ...
2019-12-03 20:36:35
938
原创 NLP学习3——Word2Vec训练技巧:负采样
负采样是一种训练技巧,通过观察上一节中的Skip-Gram和CBOW的目标函数就会发现,公式的最后都有一个求和项,而求和的范围是词汇表中的所有词,如果词汇表非常巨大,那么在对目标函数进行反向传播时的计算量会非常大。而通过负采样可以减少输入维度,对于Skip-Gram模型来说就是选定几个中心词之外的词和中心词一起训练,这比整个词汇表一起训练的计算量要小很多。想了解具体公式推导的读者可以参考这篇博客...
2019-11-26 21:11:14
626
原创 NLP学习2——Word2Vec之SkipGram模型的Python实现
本篇文章参考自该教程我在Google的Colaboratory上面使用了Google云端的GPU运行了该程序import torchimport torch.nn as nnfrom torch.autograd import Variableimport torch.optim as optimimport torch.nn.functional as Fimport nltki...
2019-11-24 20:33:35
505
原创 NLP学习1——文本分类(spacy的初步使用)
本文学习自这篇文章import spacyfrom sklearn.datasets import fetch_20newsgroupsfrom sklearn.pipeline import Pipelineimport numpy as np# 下载数据集,20个类别twenty_train = fetch_20newsgroups(subset='train', shuffle=...
2019-11-21 20:08:04
1325
原创 朴素贝叶斯(基于sklearn的实现)
由于自己太懒,不想看太长的代码,所以我就调用的sklearn库的朴素贝叶斯类,数据集选择的是这个博客中自己构造的数据集,该博客自己实现了朴素贝叶斯类,想自己编写一个朴素贝叶斯函数的读者可以参考这个博客。下面是用sklearn库实现朴素贝叶斯分类:from functools import reduceimport numpy as npfrom sklearn.naive_bayes im...
2019-11-12 21:18:25
891
原创 PyTorch学习笔记四——LSTM手写数字识别
本文学习自莫烦教程import torchimport torch.nn as nnfrom torch.autograd import Variableimport torchvision.datasets as dsetsimport torchvision.transforms as transformsfrom torch.utils.data import DataLoade...
2019-11-10 21:47:45
1295
原创 PyTorch学习笔记三——搭建简单的CNN手写数字识别网络
本文学习自莫烦的教程import torchimport torch.nn as nnimport torch.utils.data as Datafrom torch.autograd import Variableimport torchvisiontorch.manual_seed(1) # 保证生成的随机数不发生改变EPOCH = 1 # 迭代...
2019-11-07 20:11:29
274
原创 PyTorch学习二——简单的回归算法实现
本文学习自莫烦教程import torchimport torch.nn.functional as Fimport matplotlib.pyplot as pltimport torch.nn as nntorch.manual_seed(1) #固定每次生成的随机数都保持不变# 生成数据集x = torch.unsqueeze(torch.linspace(-1, 1, 1...
2019-11-05 10:09:14
508
原创 PyTorch学习笔记一
#梯度和反向传播import torch# 导入autograd包进行梯度运算from torch.autograd import Variabletensor = torch.FloatTensor([[1, 2], [3, 4]])# variable是计算图的一部分,是自动梯度计算的一部分variable = Variable(tensor, requires_grad=True...
2019-11-04 17:20:42
315
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人