自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 序列推荐FPMC

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档FPMC马尔可夫链 (Markov Chain)FPMC二、使用步骤1.引入库2.读入数据总结马尔可夫链 (Markov Chain)马尔可夫链是什么?简单来说,就是将来的状态只和现在有关,过去的已经过去了,和之后没有关系。有几个概念:转移概率矩阵:矩阵中每一个元素表示从一个状态转移到另一个状态的概率。看一张图:所以,我们如果知道了当前的状态,就可以用当前的状态向量乘以转移状态矩阵得到第二天的状态。转移概率矩阵怎么

2021-11-07 16:28:41 1741 1

原创 推荐算法MFLogLoss

1 介绍根据已有的用户对item的评分, 来推荐下一个时间用户可能喜欢的items。2 Pre-processing只保存用户对item的评分为4 或者 5 的, 将这一类统一设置为1 , 其他所有的评分为1 2 3的或者unobserved全部设置为-13 算法思想利用两个矩阵, 用户embedding矩阵 U, 物品embedding矩阵V, 预测的规则是:bib_ibi​表示items的bias , 值越高表示物品越受欢迎.bub_ubu​表示用户的bias4 损失函数其中

2021-10-11 16:30:59 331

原创 经典推荐算法FISM

1 介绍根据已有的用户对item的评分, 来推荐下一个时间用户可能喜欢的items。2 Pre-processing只保存用户对item的评分为4 或者 5 的, 将这一类统一设置为1 , 其他所有的评分为1 2 3的或者unobserved全部设置为03 算法思想利用两个矩阵, 物品embedding矩阵 W , 物品embedding矩阵V, 预测的规则是:bib_ibi​表示items的bias , 值越高表示物品越受欢迎.bub_ubu​表示用户的biasUu−iU_u^{-

2021-10-11 16:08:20 942

原创 推荐系统BPR算法

1 介绍根据已有的用户对item的评分, 来推荐下一个时间用户可能喜欢的items。2 Pre-processing只保存用户对item的评分为4 或者 5 的, 将这一类统一设置为1 , 其他所有的评分为1 2 3的或者unobserved全部设置为03 算法思想利用两个矩阵, 用户embedding矩阵 U , 物品embedding矩阵V, 预测的规则是:bib_ibi​表示items的bias , 值越高表示物品越受欢迎找到 一个pair (u, i),表示的含义是用户u对it

2021-09-29 13:26:56 271

原创 memory_based OCCF

1 介绍&数据预处理1.1 根据已有的用户对item的评分, 来推荐下一个时间用户可能喜欢的items。1.2 Pre-processing只保存用户对item的评分为4 或者 5 的, 将这一类统一设置为1 , 其他所有的评分为1 2 3的或者unobserved全部设置为02 相似度计算因为这是基于记忆力的单行为协同过滤, 所以需要计算用户和用户之间的similarity, 以及item和item之间的similarity,。2.1 Jaccard相似度>这个很好理解, 两

2021-09-28 13:23:30 108

原创 python随机选择

1 从序列中随机选择一个数a = np.linspace(0 , 5 , 6).astype(int)for _ in range(6): print(random.choice(a))2 从序列中随机选择多个数a = np.linspace(0 , 5 , 6).astype(int)a = list(a)for _ in range(6): print(random.sample(a , 2))这里np类型的数据不支持random.sample,需要转为list类型

2021-09-27 10:45:05 2750

原创 因子分解机

因子分解机FMLogistics Regression这是最基本的一个模型LR , 这个模型就是将item的一些特征进行线性组合(或者通过一层全连接的线性层)公式如下x表示item的一些特征, w表示权重系数这其实就是一个一层的神经网络, 这个只考虑的每一个特征 , 并没有考虑特征之间的一些关系,所以二阶的poly2出现了。poly2将特征进行暴力组合, wijw_ijwi​j表示两个特征的关系系数。缺点:时间复杂度变成了n2n^2n2 , 以及用one-hot编码,xixjx

2021-09-20 19:53:03 120

原创 RSVD和SVD++,MFMPC

RSVD和SVD++pure svdRSVDSVD++pure svd通过将rating矩阵用SVD进行分解:M表示用户N表示物品k表示向量的维度, 用多大维度的向量去表征一个用户 ,物品的状态分解后进行预测:RSVD将评分矩阵看做两个矩阵的乘积:第一个矩阵U的维度M*k第二个矩阵V的维度k*N第一个矩阵的每一行表征用户的状态, 第二个矩阵的每一列表征item的状态。初始化U,V之后, 用梯度下降最小化这个函数:后面加的这两项是为了防止过拟合SVD++

2021-09-18 16:27:21 448

原创 SVD奇异值分解

方阵特征分解矩阵A用特征分解:A=WξW−1A = W\xi W^{-1}A=WξW−1W为n个特征向量组成的nxn的矩阵ξ\xiξ为矩阵A的n个特征值如果要进行特征分解,矩阵A必须为方阵。那么如果A不是方阵,即行和列不相同时,我们还是可以对矩阵进行分解SVD矩阵A是一个m×n的矩阵,那么我们定义矩阵A的SVD为:A=UξVTA= U \xi V^{T}A=UξVTU为一个m x m的矩阵ξ\xiξ 为一个m x n的矩阵,V是一个n x n 的矩阵如果不对ξ\xiξ进行处

2021-09-14 13:35:54 120

原创 torch之LSTM的参数

一、LSTM输入输入数据需要按如下形式传入input,(h0,c0)input, (h_0,c_0)input,(h0​,c0​)input : 维度(seq_len, batch, input_size),seq_len 表示输入的句子的长度,batch 传入句子的数量,input_size 表示单词的词向量的维度h0h_0h0​ : 每一层LSTM的初始状态,维度是 (num_layers * num_directions, batch, hidden_size) ,第一个参数,层数*单向or双

2021-07-21 16:42:43 3478

原创 pytorch中RNN参数

放几个官方的图片:输入RNN中的参数必须要的是input_size和hidden_size首先看input_sizeinput_size的维度是(seq_len, batch_size, input_dim)seq_len:输入的序列长度,比如我爱中国,这就是4batch_size:一轮处理多少个样本inpu_dim:每一个单词的维度在看hidden_sizehidden_size的维度是(num_layers * directions, batch_size, hidden_d

2021-07-20 16:54:41 2190

原创 序列模型,attention机制

序列模型,attention机制记录Sequence to Sequence模型编码器解码器Attention模型参考Sequence to Sequence模型sequence to sequence 模型最为常见的就是机器翻译,对应的网络结构就是many-to-many RNN网络结构,这种模型基于encoder与decoder两个结构,其中encoder将输入序列编码为一个包含输入序列所有信息的context vectorccc,其中c表示输入序列的语义向量,decoder通过对c的解码获得输入

2021-07-17 21:45:32 397

原创 word2vec,Skip-gram,cbow.....记录

word2vec文本表示(Word Representation)one-hot表征词嵌入(word embedding)词嵌入的特征词嵌入矩阵Word2vecskip-gram和Cbowword2vec两种优化方法hierarchical softmax负采样(negative sampling)参考文本表示(Word Representation)one-hot表征最简单的词汇的表达方式是建立一个较大的词汇表(例如10000),然后使用one-hot的方式对每个单词进行编码。例如单词Man,Wo

2021-07-16 21:49:55 179 1

原创 循环神经网络RNN和LSTM

循环神经网络RNN笔记RNN(Recurrent Neural Network ModelRNN语言模型举例RNN(Recurrent Neural Network Model学习RNN之前,先来看一下普通的神经网络为什么不能用于自然语言模型。普通神经网络存在两个问题:训练句子长度不一样,因此神经网络的输入难以统一,不利于建模。训练句子中无法共享词之间的特征,其次权重矩阵不共享(下面讨论矩阵共享问题),导致参数很多。因此RNN出现了先上图:这张图还是很难理解的,但是,从这张图至少可

2021-07-09 21:59:48 384

原创 卷积神经网络

卷积神经网络CNN一、导论二、卷积2.Padding3.立体卷积4.池化层最大池化平均池化5.卷积网络例子一、导论对于小尺寸的图片问题,也许我们用深度神经网络的结构可以较为简单的解决一定的问题。但是当应用在大尺寸的图片上,输入规模将变得十分庞大,使用神经网络将会有非常多的参数需要去学习,这个时候全连接神经网络就不再适用,卷积神经网络能较好处理这类问题。比如下面这张图不进行全部像素的匹配,而是进行局部的匹配。这就是CNN的核心思想。二、卷积将3x3的filter和左边的6x6的图像进行运算,

2021-07-03 15:39:48 200

原创 吴恩达深度学习<笔记>优化算法

吴恩达深度学习优化算法一、1. Mini-batch gradient descent二、Gradient descent with momentumRMSpropAdam 优化算法学习率衰减一、1. Mini-batch gradient descent对整个训练集进行梯度下降法的时候,我们必须处理整个训练数据集,然后才能进行一步梯度下降,即每一步梯度下降法需要对整个训练集进行一次处理,如果训练数据集很大的时候,如有500万或5000万的训练数据,处理速度就会比较慢。但是如果每次处理训练数据的一部

2021-06-23 20:58:26 214

原创 吴恩达深度学习深度学习概述以及优化

深度学习概述及优化1、深度学习概述2、神经网络基础之逻辑回归3、深层神经网络4、深度学习实用层面4.1 训练集、验证集、测试集4.2 偏差、方差4.3 L1、L2正则化1、深度学习概述在之前的吴恩达机器学习课程中,举了一个预测房屋价格的例子,当时的输入变量只有房屋面积,对于这种问题当时的解决方案是单变量线性回归,当时的假设函数是y=ax+by = ax+by=ax+b,其实这个问题也可以看做一个最简易的神经网络的问题,如下图所示。该神经网络的输入x是房屋面积,输出y是房屋价格,中间包含了一个神经.

2021-06-18 22:11:11 371

原创 机器学习前向传播,反向传播

吴恩达机器学习<三>一、神经网络二、前向传播算法2.反向传播算法代价函数推导过程代码实现一、神经网络神经网络是模仿大脑神经元,建立的模型。模型中的每个神经元都是一个单独的【学习模型】,这些神经元也叫做激活单元(activation unit)Sigmoid函数在之前的逻辑回归中有写到,这里就不多写了,在上述图中,它将左边输入的和参数θ相乘后作为输入,经过自身的计算得到结果h0(x)h_0(x)h0​(x),在神经网络中,参数又可被成为权重(weight)。二、前向传播算法这里直接上

2021-06-03 17:06:00 982

原创 吴恩达机器学习-逻辑回归

吴恩达机器学习逻辑回归一、逻辑回归二、使用步骤1.引入库2.读入数据总结一、逻辑回归二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import sslssl._create_default_https_contex.

2021-06-02 17:58:53 402

原创 吴恩达机器学习<一>

吴恩达机器学习(一)文章目录吴恩达机器学习(一)一、什么是机器学习(what is Machine learning)?1.监督学习1.无监督学习二、单变量线性回归(Linear Regression with One Variable)1、模型表示2、代价函数3、梯度下降总结一、什么是机器学习(what is Machine learning)?机器学习算法主要有两种机器学习的算法分类监督学习无监督学习两者的区别为是否需要人工参与数据结果的标注1.监督学习监督学习:预先给一定

2021-05-18 19:28:35 349

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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