自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (1)

原创 经典的冷启动推荐算法 / Cold-start Recommendation Baselines

持续更新...

2020-09-25 11:14:24 16

原创 常用的冷启动推荐数据集 / Cold-Start Recommendation Dataset

持续更新...

2020-09-25 11:10:05 10

原创 冷启动推荐的一般性建模流程

冷启动推荐旨在解决当系统中出现新用户或新产品时如何进行推荐的问题,相比于热启动用户或产品,冷启动用户或产品缺少用户-产品交互数据,因此用传统的热启动推荐方法往往不能解决这类问题。当前的冷启动推荐建模的主要思路是:通过学习映射函数将用户或产品的辅助信息表示转换为协同过滤表示。冷启动算法建模的示意图如下:注:图片取自Recommendation for New Users and New Items via Randomized Training and Mixture-of-Experts Trans

2020-09-23 15:14:01 18

原创 论文阅读笔记:A Closer Look at Few-shot Classification

论文:A Closer Look at Few-shot Classification / 近距离观察小样本分类问题作者:Wei-Yu Chen,Y en-Cheng Liu & Zsolt Kira,Yu-Chiang Frank Wang,Jia-Bin Huang发表刊物:ICLR发表年度:2019下载地址:https://arxiv.org/pdf/1904.04232.pdfABSTRACT小样本分类旨在通过有限标记样例学习一个分类器来识别未知类,虽然近些年取得了一

2020-09-22 14:57:47 27

原创 python使用t检验和F检验验证模型好坏

要在某个指标上对比两个模型的好坏,我们可以直接进行比较,同时为了使比较结果更具说服力,我们可以使用统计检验的方法,即将两个模型分别跑k次,使用t检验比较这两组k个样本的均值、使用F检验比较这两组k个样本的方差,均值越大、方差越小说明在当前指标上该模型更好更稳定(这里说的指标是正向指标)。那么下面我们以具体代码来进行说明。from scipy.stats import ttest_rel, fimport numpy as npx = [44.2, 36.1, 46.5, 40.7, 61.6,

2020-09-06 17:24:21 90

原创 Python检验样本是否服从正态分布

在进行t检验、F检验之前,我们往往要求样本大致服从正态分布,下面介绍两种检验样本是否服从正态分布的方法。1 可视化我们可以通过将样本可视化,看一下样本的概率密度是否是正态分布来初步判断样本是否服从正态分布。代码如下:import numpy as npimport pandas as pdimport matplotlib.pyplot as plt# 使用pandas和numpy生成一组仿真数据s = pd.DataFrame(np.random.randn(500),colu

2020-09-06 16:41:10 186

原创 Pytorch保存和加载模型的两种方式

与Tensorflow、Keras等框架一样,Pytorch也提供了两种保存模型的方式,这两种方式都是通过调用pickle序列化方法实现的:只保存模型参数 保存完整模型下面我们依次对这两种方式进行实现,以以下多层感知机模型为例:def create_net(): net = nn.Sequential() net.add_module('linear1', nn.Linear(15, 20)) net.add_module('relu1', nn.ReLU())

2020-08-20 19:58:38 64

原创 torch.ones_like函数和torch.zero_like函数

torch.ones_like函数和torch.zero_like函数的基本功能是根据给定张量,生成与其形状相同的全1张量或全0张量,示例如下:input = torch.rand(2, 3)print(input)# 生成与input形状相同、元素全为1的张量a = torch.ones_like(input)print(a)# 生成与input形状相同、元素全为0的张量b = torch.zeros_like(input)print(b)效果如下:tensor([[0.08

2020-08-20 19:27:54 398 2

原创 Pytorch中的torch.where函数

首先我们看一下Pytorch中torch.where函数是怎样定义的:@overloaddef where(condition: Tensor) -> Union[Tuple[Tensor, ...], List[Tensor]]: ...torch.where函数的功能如下:torch.where(condition, x, y):condition:判断条件x:若满足条件,则取x中元素y:若不满足条件,则取y中元素以具体实例看一下torch.where函数的效果:

2020-08-20 19:18:06 134

原创 使用torchkeras打印Pytorch模型结构和基本参数信息

在使用Pytorch构建神经网络模型后,我们需要看一下自己写的模型的网络结构,此时可以使用torchkeras模块中的summary函数实现该功能。以多层感知机为例,首先我们构建网络结构并打印该模型的初步信息,代码如下:import torchfrom torch import nnfrom torchkeras import summarydef create_net(): net = nn.Sequential() net.add_module('linear1', nn

2020-08-20 18:23:04 186

原创 pandas打印DataFrame的前几行、后几行样本和随机抽样

在使用pandas对结构化数据进行探索性分析时,我们经常需要打印几条样本出来看看数据读取和处理是否正确,除了用iloc函数以索引区间的方式读取,pandas为我们提供了更简单的head和tail函数,这两个函数的使用方法和效果如下。1、head函数pandas中的head函数的使用方法如下:import numpy as npimport pandas as pddf_data = pd.DataFrame(np.random.rand(10, 5))# 打印全体数据print(df

2020-08-20 17:59:23 256

原创 使用python打印当前时间

在跑模型的时候,我们有时需要计算模型运行时间,此时我们需要获取到模型开始运行的时间以及模型结束运行的时间,以二者的差值作为模型的总运行时间。在python语言中,我们可以使用以下两种常用的方式获取当前时间。1、使用time模块代码如下:# 打印时间戳print(time.time()) # 打印自从1970年1月1日午夜(历元)经过了多长时间,以秒为单位# 打印本地时间print(time.localtime(time.time())) # 打印本地时间# 打印格式

2020-08-20 17:33:55 108

原创 论文阅读笔记:From Zero-Shot Learning to Cold-Start Recommendation

论文:From Zero-Shot Learning to Cold-Start Recommendation / 从零样本学习到冷启动推荐作者:Jingjing Li, Mengmeng Jing, Ke Lu, Lei Zhu, Yang Yang, Zi Huang发表刊物:AAAI发表年度:2019下载地址:https://arxiv.org/abs/1906.08511Abstract零样本学习和冷启动推荐分别是计算机视觉和推荐系统中具有挑战性的研究问题,它们一般来各自的社区中被独

2020-08-17 19:26:28 75

原创 python返回列表中特定元素对应的索引

在使用列表这一数据结构进行数据分析时,我们会经常遇到需要返回列表中特定元素对应的所有索引的情况。我们可能会首先想到可以使用index函数返回元素索引,看一下效果:a = [1, 2, 3, 4, 2, 1]print(a.index(2))结果为:1可以看到,使用index函数返回的只有一个索引,而列表a中有两个2,应该返回两个索引才对,我们看一下index函数具体细节:可以看到,index函数只返回命中元素的第一个索引,而且该函数也没有参数让我们实现返回多个索引的效果。我们进

2020-08-14 10:46:27 63

原创 python对列表元素排序并返回元素索引序列

在信息检索或top-n推荐中,我们会为用户推荐一个有序推荐列表,这里的“有序”体现在列表中前面的产品相比于列表后面的产品被算法预测为更容易被用户选择,这要求我们按每个产品出现的概率对产品进行排序。可以参考以下示例:# 按列表a中元素的值进行排序,并返回元素对应索引序列a = [1, 3, 4, 5, 2, 7, 9]print('a:', a)sorted_id = sorted(range(len(a)), key=lambda k: a[k], reverse=True)print('元素

2020-08-11 20:33:10 228

原创 python批量计算cosine distance

我们在做推荐或者信息检索任务时经常需要比较项目嵌入和项目嵌入之间或者用户嵌入和项目嵌入之间相似度,进而进行推荐。余弦相似度的计算公式如下:余弦相似度cosine similarity和余弦距离cosine distance是相似度度量中常用的两个指标,我们可以用sklearn.metrics.pairwise下的cosine_similarity和paired_distances函数分别计算两个向量之间的余弦相似度和余弦距离,效果如下:import numpy as npfrom sklea

2020-08-11 19:35:04 166

原创 python计算mAP

mAP(mean Average Precision)是信息检索和推荐系统领域评估算法性能的重要指标。If you have an algorithm that is returning a ranked ordering of items, each item is either hit or miss (like relevant vs. irrelevant search results) and items further down in the list are less likely to

2020-08-07 19:44:22 135

原创 python计算precision@k、recall@k和f1_score@k

sklearn.metrics中的评估函数只能对同一样本的单个预测结果进行评估,如下所示:from sklearn.metrics import classification_reporty_true = [0, 5, 0, 3, 4, 2, 1, 1, 5, 4]y_pred = [0, 2, 4, 5, 2, 3, 1, 1, 4, 2]print(classification_report(y_true, y_pred))而我们经常会遇到需要对同一样本的top-k个预测结果进行

2020-08-06 20:58:15 247

原创 论文阅读笔记:A Survey of Zero-Shot Learning: Settings, Methods, and Applications

论文:A Survey of Zero-Shot Learning: Settings, Methods, and Applications / 零样本学习综述:设定、方法和应用作者:Zhi-Hua Zhou / 周志华发表刊物:ACM Transactions on Intelligent Systems and Technology发表年度:2019下载地址:https://dl.acm.org/doi/abs/10.1145/3293318...

2020-07-30 16:44:50 181

原创 python获取某个文件夹中所有文件名

获取某个文件夹下的所有文件名   我们如何使用python获取以下文件夹中的所有文件名?   使用以下python语句即可:file_dir = "F:/ant"for root, dirs, files in os.walk(file_dir, topdown=False): print(root) # 当前目录路径 print(dirs) # 当前目录下所有子目录 print(files) # 当前路径下所有非目录子文件   效果如下:

2020-07-20 11:23:10 80

原创 如何读取.npy文件以及如何将数组保存为图片

1 如何读取.npy文件  .npy文件是numpy专用的二进制文件,可以使用以下Python语句读取。import numpy as npdata = np.load('1448291769966919811.npy')print("type:", type(data))print("shape:", data.shape)print("data:", data)  效果如下图所示:2 如何将数组保存为图片  使用以下Python语句将数组保存为图片:import numpy a

2020-07-16 19:33:56 115

原创 论文阅读笔记:A brief introduction to weakly supervised learning

论文:A brief introduction to weakly supervised learning / 对弱监督学习的简要介绍作者:Zhi-Hua Zhou / 周志华发表刊物:National Science Review发表年度:2018下载地址:https://academic.oup.com/nsr/article/5/1/44/4093912Abstract  近年来,基于自然语言处理技术的推荐系统取得了广泛关注,其中一个应用就是对话推荐系统CRS。与传统的基于内容的或基于协同

2020-06-08 16:02:30 138

原创 论文阅读笔记:Deep Conversational Recommender System: A New Frontier for Goal-Oriented Dialogue Systems
原力计划

论文:Deep Conversational Recommender System: A New Frontier for Goal-Oriented Dialogue System / 深度对话推荐系统:任务型对话系统的新前沿发表刊物:arXiv发表年度:2020下载地址:https://arxiv.org/pdf/2004.13245.pdfAbstract  近年来,基于自然语言处理技术的推荐系统取得了广泛关注,其中一个应用就是对话推荐系统CRS。与传统的基于内容的或基于协同过滤的推荐方法不

2020-05-29 15:15:46 394

原创 pytorch实现加性注意力机制

加性注意力机制计算注意力得分的公式为计算注意力分布的公式为现用pytorch框架实现加性注意力公式参考attention-networks-for-classification用于文本分类的多层注意力模型(Hierachical Attention Nerworks)用仿真数据跑出来的实验效果截图如下:...

2019-11-13 16:44:33 1453

原创 pytorch版CLSTM

# -*-coding:utf-8-*-"""@author:taoshouzheng@time:2019/8/8 15:19@email:tsz1216@sina.com"""import torchimport torch.nn as nnfrom torch.nn import Parameterfrom torch.nn import initfrom torch ...

2019-11-09 10:28:36 449

原创 使用LSTM模型进行多分类并查看综合分类效果

#!/usr/bin/env python# encoding: utf-8'''@author: taoshouzheng@contact: tsz1216@sina.com@file: 1 lstm + linear.py@time: 2019/11/7 9:15'''import torchimport torch.nn as nnfrom torch.nn impo...

2019-11-07 16:35:15 1289

原创 pytorch计算余弦相似度

在pytorch中,可以使用torch.cosine_similarity函数对两个向量或者张量计算余弦相似度。先看一下pytorch源码对该函数的定义:class CosineSimilarity(Module): r"""Returns cosine similarity between :math:`x_1` and :math:`x_2`, computed ...

2019-09-10 20:53:45 8817 2

原创 关于注意力机制的思考

关于注意力机制可以看这两篇文章: 神经网络中的注意力机制总结及PyTorch实战 深度学习中的注意力机制1 如何使用注意力机制? 注意力机制很灵活,使用它关键在于根据注意力机制的基本原理,设计出对业务场景而言有道理、有效的计算注意力分布的方式。未完待续......

2019-09-09 20:21:24 94

原创 生成对抗网络到底做了什么?

生成对抗网络Generative Adversarial Net的基本思想:引自生成对抗网络GANs理解(附代码)

2019-09-05 09:41:41 352

原创 推荐几篇关于变分自编码器VAE学习的博客

前段时间有其他学校的老师做报告的时候讲了变分自编码器VAE和生成对抗网络GAN能够学习数据的分布,进而生成比较逼真的数据,之前对VAE和GAN的了解比较粗浅,这两天找资料看了一下,了解深入了一些,推荐一下以下这几篇博客,结合原论文《Auto-Encoding Variational Bayes》看的话应该能对VAE有个比较深入的了解。1变分自编码器(一):原来是这么一回事...

2019-09-04 11:06:31 120

原创 item2vec代码

#-*-coding:utf-8-*-"""@author:taoshouzheng@time:2019/8/20 10:46@email:tsz1216@sina.com"""import torchimport torch.nn as nnfrom torch.autograd import Variableimport torch.optim as optimimpo...

2019-08-22 09:07:56 807 4

原创 pytorch框架中的两种常用乘法

在使用pytorch框架复现模型的时候,我们需要再forward()函数中定义模型的逻辑,这时就要对模型参数使用一些运算,这里简单介绍一下pytorch框架下的两种常用的乘法运算。1 按元素乘 按元素乘,即张量的对应元素相乘,将每个位置上相乘的结果作为返回值,使用“*”实现。看一下例子:import torcha = torch.Tensor([[1...

2019-08-12 08:37:46 1656

原创 PyTorch框架下自定义层和自定义模型

PyTorch是一款简洁且高效的深度学习框架,目前在学术界被广泛使用。 和TensorFlow、Keras等框架一样,PyTorch框架下集成了一些常用的神经网络模型,如卷积神经网络、循环神经网络、全连接神经网络等,我们可以很方便地调用这些模型解决自己的问题。但是,当我们需要尝试用一些新的模型结构来解决自己的问题时,这些框架内置的模型就不行了,这时我们需要自己在P...

2019-07-11 11:13:02 4151 4

原创 Semi-supervised Classification with Graph Convolutional Networks

今天准备在所里分享的文章,GCN的提出论文,2017年发表在ICLR上,目前(截止到2019/4/20)在谷歌学术上被引用了近1000次。...

2019-04-20 10:54:08 649 1

原创 Keras框架下输出模型中间层学习到的表示的两种常用方式

深度学习本质上是表示学习,它通过多层非线性神经网络模型从底层特征中学习出对具体任务而言更有效的高级抽象特征。针对一个具体的任务,我们往往会遇到这种情况:需要用一个针对特定任务已经被训练好的模型学习出特征表示,然后将学习出的特征表示作为另一个模型的输入。这就要求我们会获取模型中间层的输出,下面以具体代码形式介绍两种具体方法。目录1 通过K.function()函数打印模...

2019-04-10 20:21:18 2264 1

原创 Keras版GCN源码解析

直接上代码: 后面会在这份源码的基础上做实验; TensorFlow版的GCN源码也看过了,但是看不太懂,欢迎交流GCN相关内容。1 setup.pyfrom setuptools import setupfrom setuptools import find_packagessetup(name='kegra', ...

2019-04-03 20:49:27 9009 32

原创 pandas的一些基本功能

这两天用pandas做数据分析时学习到一些技巧,在这里记录下来备以后使用。目录1 将从MySQL数据库中查询的结果转换为DataFrame类型2 使用groupby函数以某一列为键计算另一列的平均值3 使用lambda表达式执行逐元素操作4 使用reset_index函数还原索引5 使用head函数查看DataFrame中的前几条样本6 使用shape属...

2019-03-25 22:26:14 484

原创 tf.nn.softmax_cross_entropy_with_logits函数

tf.nn.softmax_cross_entropy_with_logits函数在TensorFlow中计算分类问题交叉熵损失函数时会用到。 这个函数的返回值不是一个数,而是一个向量。如果要求最终的交叉熵损失,我们需要再做一步tf.reduce_sum操作,即对向量中的所有元素求和。 让我们以具体示例来说明tf.nn.softmax_cross...

2019-03-25 21:28:56 562

原创 TensorFlow学习——基本概念(1)

最近在学深度学习的编程实现,以博客的形式把每天学到的东西总结一下,相信会有所收获。 注:写这篇博客时参考了《TensorFlow实战Google深度学习框架》第二版,主要对其中的第三章“TensorFlow入门”中的内容进行总结。目录1 TensorFlow的计算模型——计算图2 TensorFlow的数据模型——张量3 TensorFlow的运...

2019-03-23 09:59:35 315

原创 基于注意力机制的多层感知机的实现

        写作这篇博客的过程中参考了keras教程-n-循环神经网络的注意力机制的理论和实现里面的问题和代码,但是这篇文章中的问题描述不清晰、代码比较冗余,所以按照自己对问题和注意力机制的理解改进了其中的问题描述和代码实现。1 问题描述  &

2019-02-14 20:27:23 1717

用户画像及其在推荐系统中的应用.pdf

整理的用户画像的相关知识及其在推荐系统中的应用,包括用户画像的基本概念、用户画像的维度、如何构建用户画像以及用户画像在推荐系统中的应用。下载者需要对推荐系统和机器学习有所了解。

2019-12-31

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除