- 博客(38)
- 收藏
- 关注
原创 深度推荐模型-DIN
DIN1.背景 Deep Interest Network(DIIN)是2018年阿里巴巴提出来的模型,该模型基于业务的观察,从实际应用的角度进行改进,相比于之前很多“学术风”的深度模型, 该模型更加具有业务气息。该模型的应用场景是阿里巴巴的电商广告推荐业务,这样的场景下一般会有大量的用户历史行为信息,这个其实是很关键的,因为DIN模型的创新点或者解决的问题就是使用了注意力机制来对用户的兴趣动态模拟,而这个模拟过程存在的前提就是用户之前有大量的历史行为了,这样我们在预测某个商品广告用户是否点击的时
2021-03-28 00:48:14
670
1
原创 深度推荐模型-DeepFM
DeepFM1.背景 对于CTR问题,被证明的最有效的提升任务表现的策略是特征组合(Feature Interaction), 在CTR问题的探究历史上来看就是如何更好地学习特征组合,进而更加精确地描述数据的特点。可以说这是基础推荐模型到深度学习推荐模型遵循的一个主要的思想。而组合特征大牛们研究过组合二阶特征,三阶甚至更高阶,但是面临一个问题就是随着阶数的提升,复杂度就成几何倍的升高。这样即使模型的表现更好了,但是推荐系统在实时性的要求也不能满足了。所以很多模型的出现都是为了解决另外一个更加深入的
2021-03-22 00:22:20
378
1
原创 深度推荐模型-Wide & Deep
Wide & Deep1.背景 在CTR预估任务中利用手工构造的交叉组合特征来使线性模型具有“记忆性”,使模型记住共现频率较高的特征组合,往往也能达到一个不错的baseline,且可解释性强。但这种方式有着较为明显的缺点:1.特征工程需要耗费太多精力。2.模型是强行记住这些组合特征的,对于未曾出现过的特征组合,权重系数为0,无法进行泛化。 为了加强模型的泛化能力,研究者引入了DNN结构,将高维稀疏特征编码为低维稠密的Embedding vector,这种基于Embeddin
2021-03-18 22:57:48
385
原创 深度推荐模型-DeepCrossing
DeepCrossing1.背景 DeepCrossing是一个真正的把深度学习架构应用于推荐系统中的模型了,2016年由微软提出,完整的解决了特征工程、稀疏向量稠密化,多层神经网络进行优化目标拟合等一系列深度学习再推荐系统的应用问题。 这个模型涉及到的技术比较基础,在传统神经网络的基础上加入了embedding,残差连接等思想,且结构比较简单,对初学者复现和学习都比较友好。。 DeepCrossing模型应用场景是微软搜索引擎Bing中的搜索广告推荐,用户在输入搜索词之后,搜索引擎除了返
2021-03-16 21:30:58
589
原创 天池-全球人工智能技术创新大赛【热身赛二】-中文预训练模型泛化能力挑战赛-NLP-改进优化
背景 由上篇文章可知,baseline跑通,需对模型进行改进和优化。优化思路1.修改 calculate_loss.py 改变loss的计算方式,从平衡子任务难度以及各子任务类别样本不均匀入手;2.修改 net.py 改变模型的结构,加入attention层,或者其他层;3.使用 cleanlab 等工具对训练文本进行清洗;4.做文本数据增强,或者在预训练时候用其他数据集pretrain;5.对训练好的模型再在完整数据集(包括验证集和训练集)上用小的学习率训练一个epoch;6.调整
2021-02-25 23:53:42
339
原创 天池-全球人工智能技术创新大赛【热身赛二】-中文预训练模型泛化能力挑战赛-NLP
背景由DataWhale提供的baseline去训练模型,并通过docker的方式将本地代码打包成镜像提交到天池。以此记录整个过程。赛题信息赛题地址:全球人工智能技术创新大赛 热身赛二: 中文预训练模型泛化能力挑战赛BaselineBaseline:由DataWhale提供的Baseline环境配置Docker配置:【入门】Docker练习场Docker环境配置指南! 注意:关于Docker的下载与配置中,win10专业版和家庭版在安装Docker过程中区别很大,由于我
2021-02-22 00:33:25
343
1
原创 LeetCode腾讯精选50题---344,557
Day17344. 反转字符串 (Easy)344. 反转字符串 (Easy)""" 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:["h","e","l","l","o"] 输出:["o","l","l","e","h"]
2021-01-29 23:35:15
140
原创 LeetCode腾讯精选50题---237,238,292
Day16237. 删除链表中的节点 (Easy)237. 删除链表中的节点 (Easy)""" 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。 现有一个链表 -- head = [4,5,1,9],它可以表示为: 示例 1: 输入:head = [4,5,1,9], node = 5 输出:[4,1,9] 解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -&g
2021-01-28 22:16:37
109
原创 LeetCode腾讯精选50题---215,217,230
Day15231. 2的幂 (Easy)231. 2的幂 (Easy)""" 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1: 输入: 1 输出: true 解释: 2^0 = 1 示例 2: 输入: 16 输出: true 解释: 2^4 = 16 示例 3: 输入: 218 输出: false"""import mathclass Solution(object):
2021-01-27 23:59:55
109
原创 LeetCode腾讯精选50题---215,217,230
Day14215. 数组中的第K个最大元素 (Medium)215. 数组中的第K个最大元素 (Medium)""" 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 说明: 你可以假设
2021-01-27 00:02:41
92
原创 LeetCode腾讯精选50题---160,169,206
Day13160. 相交链表 (Easy)160. 相交链表 (Easy)""" 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with value = 8 输入解释:相交节
2021-01-25 23:48:44
101
原创 LeetCode腾讯精选50题---146,148,155
Day12146. LRU 缓存机制 (Medium)146. LRU 缓存机制 (Medium)""" 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。 实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key,
2021-01-23 23:59:55
133
原创 LeetCode腾讯精选50题---136,141,142
Day11136. 只出现一次的数字 (Easy)136. 只出现一次的数字 (Easy)""" 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4"""from typing
2021-01-23 00:14:30
103
原创 LeetCode腾讯精选50题---121,122,124
Day10121. 买卖股票的最佳时机 (Easy)121. 买卖股票的最佳时机 (Easy)""" 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)
2021-01-22 00:04:01
121
原创 LeetCode腾讯精选50题---88,89,104
Day 0988. 合并两个有序数组 (Easy)88. 合并两个有序数组 (Easy)""" 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。 示例 1: 输入:nums1 = [1,2,3,0,0,0], m = 3
2021-01-20 23:30:16
125
原创 LeetCode腾讯精选50题---62,70,78
Day0862. 不同路径 (Medium)62. 不同路径 (Medium)""" 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 输入:m = 3, n = 7 输出:28 示例 2: 输入:m = 3, n = 2 输出:3 解
2021-01-19 23:48:43
82
原创 LeetCode腾讯精选50题---54,59,61
Day0754. 螺旋矩阵 (Medium)54. 螺旋矩阵 (Medium)""" 给定一个包含m x n个元素的矩阵(m行, n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 示例2: 输入: [ [1, 2, 3, 4],
2021-01-18 23:30:18
150
原创 LeetCode腾讯精选50题---43,46,53
Day0643. 字符串相乘 (Medium)43. 字符串相乘 (Medium)""" 43. 字符串相乘 (Medium) 链接:https://leetcode-cn.com/problems/multiply-strings/ 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例
2021-01-18 00:05:32
151
原创 LeetCode腾讯精选50题---23,26,33
Day0523. 合并K个升序链表 (diffculty)合并K个升序链表 (diffculty)思路:暴力法,先把链表遍历取出放进数组中,然后把数组排序,然后再遍历数组重新放进新的链表中。堆排序,基于堆的特点heap[0]堆的第一个元素永远是最小的元素.首先遍历链表,把所有val加入到堆中,然后逐一删除并加到新链表即可。与暴力法相当,这里运用堆的特性与暴力法中排序相似.分治法(需重点理解,思路非常重要),此题为k个链表进行排序,参考第21题可知,尝试把两两相加,形成新的链表.例如[[1,
2021-01-17 00:39:49
171
原创 LeetCode腾讯精选50题---16,20,21
Day0416. 最接近的三数之和 (Medium)16. 最接近的三数之和 (Medium)思路:此题思路与第十五题差不多,排序+双指针。先对数组进行排序;设置最大默认值res,目的是趋于最近的target并一直更新;固定i,设立双指针left,right分别指向i+1和len(nums) - 1;判断abs(sum - target) < abs(res - target),说明sum接近target,并更新res;接下来对sum和target进行比较,因为数组是排序后的:若su
2021-01-14 21:53:53
132
原创 LeetCode腾讯精选50题---11,14,15
Day0311. 盛最多水的容器 (Medium)11. 盛最多水的容器 (Medium)思路:双指针图11_container_with_most_water.png""" 给你n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0) 。 找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 见图11_container_wit
2021-01-13 20:54:06
96
原创 LeetCode腾讯精选50题---7,8,9
Day027. 整数反转 (Easy)7. 整数反转 (Easy))思路:直接把x转化为str进行切片操作。""" 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−2^31,2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回0。 示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123
2021-01-12 23:28:21
151
原创 LeetCode腾讯精选50题---2,4,5
Day01两数相加 (Medium)2. 两数相加 (Medium)思路:暴力法和递归法,详细代码如下,见注释:# Definition for singly-linked list.class ListNode(object): def __init__(self, val=0, next=None): self.val = val self.next = nextclass Solution_baoli(object): # 暴力解法
2021-01-12 00:14:16
195
2
原创 推荐系统学习笔记-Part6 GBDT+LR
GDBT+LR前面介绍的协同过滤和矩阵分解存在的劣势就是仅利用了用户与物品相互行为信息进行推荐, 忽视了用户自身特征, 物品自身特征以及上下文信息等,导致生成的结果往往会比较片面。 而这次介绍的这个模型是2014年由Facebook提出的GBDT+LR模型, 该模型利用GBDT自动进行特征筛选和组合, 进而生成新的离散特征向量, 再把该特征向量当做LR模型的输入, 来产生最后的预测结果, 该模型能够综合利用用户、物品和上下文等多种不同的特征, 生成较为全面的推荐结果, 在CTR点击率预估场景下使用较为广泛
2020-10-28 23:41:45
318
原创 推荐系统学习笔记-Part4Wide&Deep
CTR点击率预估点击率预估是对每次广告点击情况作出预测,可以输出点击或者不点击,也可以输出该次点击的概率,后者有时候也称为pClick.通过上述点击率预估的基本概念,我们会发现其实点击率预估问题就是一个二分类的问题,在机器学习中可以使用逻辑回归作为模型的输出,其输出的就是一个概率值,我们可以将机器学习输出的这个概率值认为是某个用户点击某个广告的概率。点击率预估与推荐算法有什么不同?广告点击率预估是需要得到某个用户对某个广告的点击率,然后结合广告的出价用于排序;而推荐算法很多大多数情况下只需要得到一个
2020-10-27 22:31:27
122
原创 推荐系统学习笔记-Part3矩阵分解
隐语义模型与矩阵分解协同过滤算法的特点就是完全没有利用到物品本身或者是用户自身的属性, 仅仅利用了用户与物品的交互信息就可以实现 推荐,是一个可解释性很强, 非常直观的模型, 但是也存在一些问题。第一个就是处理稀疏矩阵的能力比较弱, 所以为 了使得协同过滤更好处理稀疏矩阵问题,增强泛化能力, 从协同过滤中衍生出矩阵分解模型(Matrix Factorization,MF)或 者叫隐语义模型, 两者差不多说的一个意思, 就是在协同过滤共现矩阵的基础上, 使用更稠密的隐向量表示用户和物品, 挖掘用户和物品
2020-10-25 23:45:07
124
原创 推荐系统学习笔记-Part2协同过滤
推荐系统-协同过滤协同过滤(Collaborative Filtering)推荐算法是最经典、最常用的推荐算法。+所谓协同过滤, 基本思想是根据用户之前的喜好以及其他兴趣相近的用户的选择来给用户推荐物品(基于对用户历史行为数据的挖掘发现用户的喜好偏向, 并预测用户可能喜好的产品进行推荐),一般是仅仅基于用户的行为数据(评价、购买、下载等), 而不依赖于项的任何附加信息(物品自身特征)或者用户的任何附加信息(年龄, 性别等)。目前应用比较广泛的协同过滤算法是基于邻域的方法, 而这种方法主要有下面两种算法:
2020-10-22 23:05:17
261
原创 Hive学习笔记整理概括
Hive以下是笔者对Hive的一些认知以及笔记什么是Hive1.Hive是基于Hadoop的一个数据仓库工具;2.Hive提供Hql(Hive sql)查询功能;3.数据是存储在HDFS上,Hive本身不存储数据,构建表的逻辑存在知道数据库上(mysql);4.Hive的本质是将SQL语句转换为MapReduce任务执行;5.离线大数据计算。HQL与SQL~HQLSQL数据存储HDFS、HbaseLocalFS(本地FileSystem)数据格式用户自定义
2020-10-21 10:14:24
453
1
原创 推荐系统学习笔记-Part1
推荐系统简介推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售 人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信 息和商品。随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间才能找到 自己想买的商品。这种浏览大量无关的信息和产品过程无疑会使淹没在信息过载问题中的消费者不断流失。 为了解决这些问题,个性化推荐系统应运而生。个性化推荐系统是建立在海量数据挖掘基础上的一种高级 商务智能平台,以帮助电子商务
2020-10-19 17:01:14
280
1
原创 零基础入门NLP - 天池新闻文本分类Task6笔记
零基础入门NLP - 天池新闻文本分类以下以Datawhale与天池举办的新闻文本分类这个NLP赛题做的NLP入门Task2笔记赛题链接:https://tianchi.aliyun.com/competition/entrance/531810/introduction.Task5:基于深度学习的文本分类本章将继续介绍基于深度学习的文本分类了解Transformer的原理和基于预训练语言模型(Bert)的词表示学会Bert的使用,具体包括pretrain和finetune文本表示方法Tra
2020-08-04 23:54:45
823
原创 零基础入门NLP - 天池新闻文本分类Task5笔记
零基础入门NLP - 天池新闻文本分类以下以Datawhale与天池举办的新闻文本分类这个NLP赛题做的NLP入门Task2笔记赛题链接:https://tianchi.aliyun.com/competition/entrance/531810/introduction.Task3:基于深度学习的文本分类本章将介绍基于深度学习的文本分类文本表示方法词向量word2vec模型背后的基本思想是对出现在上下文环境里的词进行预测。对于每一条输入文本,我们选取一个上下文窗口和一个中心词,并基于这个中心
2020-07-31 23:52:31
184
原创 零基础入门NLP - 天池新闻文本分类Task4笔记
零基础入门NLP - 天池新闻文本分类以下以Datawhale与天池举办的新闻文本分类这个NLP赛题做的NLP入门Task2笔记赛题链接:https://tianchi.aliyun.com/competition/entrance/531810/introduction.Task4:基于深度学习的文本分类1-fastText与传统机器学习不同,深度学习既提供特征提取功能,也可以完成分类的功能。从本章开始我们将学习如何使用深度学习来完成文本表示。文本表示方法Part2在上一章节,我们介绍几种文本
2020-07-27 23:48:22
161
原创 零基础入门NLP - 天池新闻文本分类Task3笔记
零基础入门NLP - 天池新闻文本分类以下以Datawhale与天池举办的新闻文本分类这个NLP赛题做的NLP入门Task2笔记赛题链接:https://tianchi.aliyun.com/competition/entrance/531810/introduction.Task3:基于机器学习的文本分类本章将介绍使用机器学习模型来解决文本分类问题文本表示方法在自然语言领域,文本是不定长度的。文本表示成计算机能够运算的数字或向量的方法一般称为词嵌入(Word Embedding)方法。词嵌入将
2020-07-25 23:38:45
121
原创 零基础入门NLP - 天池新闻文本分类Task2笔记
零基础入门NLP - 天池新闻文本分类以下以Datawhale与天池举办的新闻文本分类这个NLP赛题做的NLP入门Task2笔记赛题链接:https://tianchi.aliyun.com/competition/entrance/531810/introduction.Task2:数据读取与数据分析主要内容为数据读取和数据分析,具体使用Pandas库完成数据读取操作,并对赛题数据进行分析构成。数据读取赛题数据使用csv格式进行存储。因此可以直接用Pandas完成数据读取的操作。import
2020-07-22 20:59:34
180
原创 零基础入门NLP - 天池新闻文本分类Task1笔记
零基础入门NLP - 天池新闻文本分类以下以Datawhale与天池举办的新闻文本分类这个NLP赛题做的NLP入门Task1笔记赛题链接:https://tianchi.aliyun.com/competition/entrance/531810/introduction.Task1:赛题理解赛题理解1.赛题名称:零基础入门NLP之新闻文本分类。2.赛题目标:通过赛题引导并走入自然语言处理,解除NLP的预处理、模型构建和模型训练等知识点。3.赛题任务:赛题以自然语言处理为背景,要求选手对新闻文
2020-07-21 22:08:34
171
原创 二手车价格预测Task5笔记
零基础入门数据挖掘比赛(天池二手车交易价格预测)以下以Datawhale与天池举办的二手车交易价格预测这个数据挖掘赛题做的数据挖掘入门Task5笔记Task5:模型融合在比赛的攻坚时刻,各种模型结果的融合方式,有利于冲刺Top模型融合目标对于多种调参完成的模型进行模型融合;完成对于多种模型的融合,提交融合结果;模型融合具体类型方式简单加权融合 ;1.回归(分类概率):算术平均...
2020-04-04 21:47:02
239
原创 二手车价格预测Task4笔记
零基础入门数据挖掘比赛(天池二手车交易价格预测)以下以Datawhale与天池举办的二手车交易价格预测这个数据挖掘赛题做的数据挖掘入门Task4笔记Task4:建模与调参线性回归模型线性回归对于特征的要求 ;处理长尾分布;# 先做完小技巧sample_feature = sample_feature.dropna().replace('-', 0).reset_index(dro...
2020-04-01 21:42:02
180
原创 二手车价格预测Task3笔记
零基础入门数据挖掘比赛(天池二手车交易价格预测)以下以Datawhale与天池举办的二手车交易价格预测这个数据挖掘赛题做的数据挖掘入门笔记Task1:赛题理解赛题概况通常做比赛,首先得了解赛题:赛题类型分类、回归、 其它 ;赛题背景可能潜在隐藏的一些条件,对之后的数据处理很有帮助。例如是否包含异常值、数据的缺失、数据的漂移等 ;数据理解了解赛题提供的数据特征情况以及含义,有助...
2020-03-24 19:21:12
149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人