自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

马飞飞的博客

极客 匠心

  • 博客(119)
  • 资源 (1)
  • 收藏
  • 关注

原创 推荐系统 - SR GNN架构详解(包含图神经网络GNN和门控图神经网络GGNN的介绍)

说明1.SR-GNN是中科院提出的一种基于会话序列建模的推荐系统,这里所谓的会话是指用户的交互过程(每个会话表示一次用户行为和对应的服务,所以每个用户记录都会构建成一张图),这里说的会话序列应该是专门表示一个用户过往一段时间的交互序列。基于会话的推荐是现在比较常用的一种推荐方式,比较常用的会话推荐包括循环神经网络、马尔科夫链。但是这些常用的会话推荐方式有以下的两个缺点: ...

2019-08-18 14:04:37 19591 17

原创 推荐系统 - DeepFM架构详解

说明理论部分请参照:https://www.jianshu.com/p/6f1c2643d31b,这里主要针对源码进行解读,填一些坑。简单介绍1.DeepFM可以看做是从FM基础上衍生的算法,将Deep与FM相结合,用FM做特征间低阶组合,用Deep NN部分做特征间高阶组合,通过并行的方式组合两种方法,使得最终的架构具有以下特点。 (1) 不需要预训练 FM 得到隐向量;...

2019-08-15 16:43:20 38920 12

原创 Vid2Vid多图详解

简介vid2vid是NVIDIA公司提出的一种图像翻译模型 ,通过输入语义图来生成视频,其是在pix2pix、pix2pixHD基础上改进出的模型,三者的演进思想如下: [1]最早pix2pix框架提出了一种统一的简洁优雅的框架解决了图像翻译问题,使用CGAN代替专家知识实现基本图像翻译效果。 [2]pix2pixHD是在pix...

2019-03-05 16:14:34 11125 4

原创 伪标签技术

前言该方法主要应用于半监督问题,是一种通过有监督样本训练得到的模型,来对无标签数据进行利用的方式。思路1.使用思路:(1)使用有标签数据A训练一个有监督模型。(2)利用该模型对无标签数据进行预测,得到预测概率值。(3)基于无标签样本概率值 按照一定阀值进行 真值样本抽取,生成新的有标签数据B。(4)基于A和B重新训练模型C,并使用测试集验证模型小效果。tips:可以发现,该方法主要适用于分类任务,因为我们需要根据一定概率置信值进行样本的筛选。以上的步骤,可以对应如下的图:

2020-07-30 22:28:23 1700

原创 Scala reduceByKey()函数详解

该函数的作用是对两个RDD结构数据进行压缩合并,将有相同key的数据合并在一起,只保留一个key对应一条数据,从而起到压缩数据的效果,对同一key下的value进行合并的方式可以指定一个计算逻辑C。函数可以表示为: 原RDD数据.((x,y)=>表达式c)。接下来据两个例子:语句: val c = sc.parallelize(1 to 10) c.reduce((x, y) => x + y)输出:55解析:元组c展开为(1,2,3,4,5,6,7,8,9),转换成

2020-07-26 21:12:39 7188

原创 leetcode 题目350 两个数组的交集 II

2020/3/31 打卡题目给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]思路一种分成两步的巧妙的方法: (1) 首先计算重复的 字母元素。 ...

2020-03-31 12:07:27 385

原创 leetcode 题目1162 解数独

2020/3/30 打卡题目编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则: (1)数字1-9在每一行只能出现一次。 (2)数字1-9在每一列只能出现一次。 (3)数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。这里每个3*3的宫都是 一个块。 这里需要对所有的空位.标记位置进行填充Note:...

2020-03-30 13:13:03 289

原创 leetcode 题目1162 地图分析

2020/3/29 打卡题目你现在手里有一份大小为N x N 的『地图』(网格)grid,上面的每个『区域』(单元格)都用0和1标记好了。其中0代表海洋,1代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。我们这里说的距离是『曼哈顿距离』(Manhattan Distance):(x0, y0) 和(x1,...

2020-03-29 12:27:52 605

原创 leetcode 题目820 单词的压缩编码

2020/3/28 打卡题目给定一个单词列表,我们将这个列表编码成一个索引字符串S与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S中索引的位置开始读取字符串,直到 "#" 结束,来恢复我们之前的单词...

2020-03-28 18:00:24 248

原创 leetcode 题目417 太平洋大西洋水流问题

2020/3/27 打卡题目给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左边界和上边界,而“大西洋”处于大陆的右边界和下边界。规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单元的坐标。提示:输出坐标的顺序不重要m 和 n 都小于15...

2020-03-27 13:56:40 462

原创 leetcode 题目395. 至少有K个重复字符的最长子串

2020/3/26 打卡题目找到给定字符串(由小写字符组成)中的最长子串 T ,要求T中的每一字符出现次数都不少于 k 。输出 T的长度。示例 1: 输入:s = "aaabb", k = 3 输出:3 最长子串为 "aaa" ,其中 'a' 重复了 3 次。示例 2: 输入:s = "ababbc", k = 2 输出:5 ...

2020-03-26 22:57:49 268

原创 leetcode 题目454. 四数相加 II

2020/3/25 打卡题目给定四个包含整数的数组列表A , B , C , D ,计算有多少个元组 (i, j, k, l),使得A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过231 - 1 ...

2020-03-25 23:03:05 236

原创 leetcode 题目334.递增的三元子序列

2020/3/24 打卡题目给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。数学表达式如下: 如果存在这样的i, j, k,且满足0 ≤ i < j < k ≤ n-1, 使得arr[i] < arr[j] < arr[k] ,返回 true ;否则返回 false 。 说明: 要求算法的时间复杂度为...

2020-03-24 12:27:18 164

原创 leetcode 题目401.二进制手表

2020/3/23 打卡题目二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,上面的二进制手表读取 “3:25”。 (看题目的图)给定一个非负整数 n代表当前 LED 亮着的数量,返回所有可能的时间。案例: 输入: n = 1 返回: ["1:00"...

2020-03-23 14:56:17 441

原创 leetcode 面试题162. 寻找峰值

2020/3/22 打卡题目峰值元素是指其值大于左右相邻值的元素。给定一个输入数组nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值...

2020-03-22 18:17:23 371

原创 leetcode 面试题73.矩阵置零

2020/3/21 打卡题目给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入:[ [1,1,1], [1,0,1], [1,1,1]]输出:[ [1,0,1], [0,0,0], [1,0,1]]示例 2:输入:[ [0,1,2,0], [3,4,5,2], ...

2020-03-21 13:16:05 174

原创 Leetcode top100题目及解答代码 (Python)

代码代码放置在github中:https://github.com/isthegoal/leetcode_top125使用了大量注释进行了题目 方案的解读。(类似形式如下)题目1 两数之和 42.20% Easy2 两数相加 30.70% Medium3 无重复字符的最长子串 28.00% Medium4 寻找两个有序数组的中位数 25.60% ...

2020-03-21 00:43:56 4153

原创 leetcode 面试题216. 组合总和 III

2020/3/20 打卡题目找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4...

2020-03-20 12:03:47 218

原创 leetcode 面试题40. 组合总和 II

2020/3/19 打卡题目给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 示例 1: 输入: candidates = [10,1,2,...

2020-03-19 11:02:46 236

原创 leetcode 面试题108.解码方法

2020/3/18 打卡题目将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ ...

2020-03-18 10:59:22 157

原创 leetcode 面试题1160.拼写单词

题目给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出 words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。 注意:每次拼写时,chars 中的每个字母都只能用一次。 返回词汇表words中你掌握的所有单词的 长度之和。 示例 1: 输入:words =...

2020-03-17 11:13:35 331 2

原创 leetcode 面试题91.解码方法

2020/3/17 打卡题目一条包含字母A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: "12"输出: 2解释:它可以解码为 "AB"(1 2)或者 "L"(12)。示例2:输入: "226"输出: 3解释:它可...

2020-03-17 10:55:01 254

原创 leetcode 面试题 01.06. 字符串压缩

2020/3/16 打卡题目字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3"示例2: 输入:"abbccd" 输出...

2020-03-16 12:12:54 165

原创 leetcode 题目695.岛屿的最大面积

2020/3/15 打卡题目给定一个包含了一些 0 和 1的非空二维数组grid, 一个岛屿是由四个方向 (水平或垂直) 的1(代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,...

2020-03-15 13:35:09 198

原创 leetcode 题目300.最长上升子序列

2020/3/13 打卡题目给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101], 它的长度是 4思路感觉传统思路就够了,使用DP解法。用dp[i...

2020-03-14 01:21:28 146

原创 leetcode题目621 任务调度器

2020/3/13 打卡题目给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。然而,两个相同种类的任务之间必须有长度为 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执...

2020-03-13 00:52:40 646 1

原创 leetcode 题目2 两数相加

2020/3/12 打卡题目给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。除了数字 0 之外,这两个数字都不会以零开头。通俗点说就是 有两个链表分别表示两个数,我们需要获得 一个新的链表,链表的值表示两数相加的和。 输入:(2 -> 4 -> 3) + (5 -> 6 ...

2020-03-12 11:35:08 230

原创 leetcode 题目64 最小路径和

题目给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的...

2020-03-11 09:59:16 266

原创 mobilenet v1和 mobilenet之间的区别,V2是在V1上做了什么改进?

mobilenet v1 主要是提出一种深度可分离卷积,将原来的三维度卷积 分成二维度加上 厚度上的单独卷积,从而可以实现参数上的极大减少。【主要带来计算量和参数量的大量减少。计算量减少9倍左右的参数量。该网络架构核心的特点是分成提出了两种卷积形式Depthwise convolution和pointwise convolution。 【1】Depthwise convolu...

2019-12-05 15:08:12 2078 2

原创 LightGBM模型的特点和优点

(1)使用直方图的方式,对于每个特征的所有候选分割点按照其范围分成N个箱子,累加箱子内的梯度提升值,对于箱子里的每个候选分割点都计算带来的梯度增益,对于每个箱子分别保存其累计梯度、箱子内的样本数量。之后再分裂节点时直接对直方图遍历进行分割点的候选即可,通过直方图的方式,虽然分割的精度变差了,但是对最后的结果影响不大,一方面能够提升计算效率,另一方面这种较粗的分割点可以起到一种正则化的效果。...

2019-12-05 15:01:50 6489

原创 Xgboost的特点(与GBDT对比)

Xgboost是在GBDT上进行改进的模型,其主要的特点是做了下面的工作,对了树每次做分裂候选时,是使用的Gain增益,而不是普通的gini指数或者均方差,是一种优化过的误差计算.....:(1)将树模型的复杂度加入到正则项中,参与到损失函数,来避免过拟合问题。 (叶子打分就是预测值,分类问题是给的概率) (2)对损失函数进行了优化,优...

2019-12-05 14:55:45 1728

原创 推荐系统 - xDeepFM架构

说明1.xdeepFM并不是由deepFM延伸而来的,而是通过deep & cross延伸过来的,其继承了deep & cross可以控制高阶特征交互的特点。2.感觉xdeeoFM最难理解的是CIN的架构,从形式上来看确实是一种 RNN与 CNN相互结合的方式,很精妙。架构1.先看下整体的xDeepFM的架构吧。首先从大致的体系来看,包括五大部分(可参照d...

2019-08-15 23:53:30 6796

原创 推荐系统 - 基于FFM算法的协同召回算法

理论参考:https://www.jianshu.com/p/781cde3d5f3dhttps://www.cnblogs.com/zhangchaoyang/articles/8157893.html说明1.在之前的文章中,已经讲述过FM的概念,而FFM是在FM基础上做了一些小的改进得到的,引入了Field(域)的概念,域表示特征所属的类型。域和特征之间是一种1:n的关系,多个特征...

2019-08-14 20:34:34 1031

原创 推荐系统 - 基于FM算法的协同召回算法

详细理论参照此处:https://zhuanlan.zhihu.com/p/58160982说明1.FM是一种LR基础上扩展的线性模型,在特征上做了两两组合上的信息挖掘,因为其高效性,既可以作为召回模型,也可以作为排序模型,并且在数据量非常大时,其相对于lightGBM这样的模型,可以做流式训练,能承载更大数据量的训练,比如在2018腾讯广告算法大赛中,top选手在复赛大数据量情况下,多使...

2019-08-14 13:56:26 3742 1

原创 推荐系统 - 基于SVD++的协同召回算法

说明1.SVD++相对SVD做了进一步的改进,主要的改进点还是在于兴趣矩阵的计算上, 相对于之前的兴趣度计算方式,就入了更多的特征项 来作为更好的评估依据,其主要增加了增加了用户对商品行为的隐式反馈向量的计算get_Yi ,训练,更新;以及用户对商品的行为集合构建。2.其相对SVD的调整主要在这里把兴趣公式改成下式,其相对SVD结构,加入了右边的形式,通过隐式参数形式讲用户的喜好体现在模型...

2019-08-10 00:54:40 604

原创 推荐系统 - 基于SVD的协同召回算法

说明SVD在进行用户i对商品j的评分时,考虑了用户特征向量和商品特征向量,以及评分相对于平均评分的偏置向量。数据在https://pan.baidu.com/s/1sQsHUgL__kwWAghe7TvMZA提取码:18bz代码# -*- coding: utf-8 -*-import numpy as npimport timeimport pickleclas...

2019-08-10 00:07:00 564

原创 推荐系统 - 基于图随机游走的PersonalRank召回算法

说明1.首先是图的构建,这里使用二元组来存储一个二部图,在一个二元字典中存储用户和物品之间的交互图结构。2.PersonalRank类包含训练和预测两个过程,这里的训练是训练出单个用户的 相关性二元组(通过图上的相关性关系挖掘得到),预测阶段是使用这一相关性二元组进行 指定潜在条件下的 top k推荐。代码# coding: utf-8 -*-import pickleimp...

2019-08-09 21:46:17 829

原创 推荐系统 - 基于用户的协同召回算法

说明 基于用户对物品交互的相似度进行top N推荐。代码 分为协同函数和主函数两个部分,数据集来源这里。链接:https://pan.baidu.com/s/1sQsHUgL__kwWAghe7TvMZA提取码:18bz# coding: utf-8 -*-import mathimport pandas as pdclass Us...

2019-08-09 19:36:10 933

原创 推荐系统 - 基于物品项的协同召回算法

说明这是基于商品项的协同过滤方法, 可以作为 一路的召回方式吧, 可以看到这里基本分为四个步骤吧 1.获取所有每个 用户产生过交互的商品集合 2.针对与用户产生交互的商品 之间的 共现情况 (计算共现矩阵,用于衡量商品项之间的相似度) 3.进行商品之间 相似度的计算,使用下面的式子吧 sim_score =...

2019-08-09 19:30:19 525

原创 推荐系统 - 隐语义LFM召回算法

说明分为三部分: (1)Corpus类:相当于是一个语料库吧,用来存储 训练用的样本的, 产生过交互的为正样本, 以没有在当前用户产生交互的样本为负例样本。 (2)LFM类:主模型部分,包含数据加载、训练、预测的过程。 这里是目的是构建一个兴趣矩阵, 这个兴趣矩阵的形状为(len(self.user_ids),len(self.item_ids)) 然而这...

2019-08-09 19:27:08 748

供电企业法制化管理分析

这是我的课题作业,可以作为参考,是结合几个论文写出来的东西。

2018-05-30

空空如也

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

TA关注的人

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