自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PyTorch学习笔记(一) PyTorch的安装

PyTorch的安装(服务器中安装,远程调用)PyTorch学习笔记系列是笔者跟随datawhale组队学习的学习成果,也包含了自学PyTorch的一些笔记和总结。由于笔者使用Macbook作为开发机,性能较差,因此需要连接到有GPU的服务器中进行开发,因此本文主要介绍服务器中PyTorch环境的部署与远程连接方法,适用于自己电脑没有gpu,并且有服务器可用的朋友,服务器默认已通过ssh连接。一、安装Anaconda/MinicondaAnaconda在windows环境更适合,因为其本身有GU

2021-10-12 23:59:35 324

原创 手搭深度推荐模型(五) DIN

注意力机制“注意力机制”来源于人类天生的“选择性注意”的习惯。最典型的例子是用户在浏览网页时,会有选择性地注意页面的特定区域,而忽视其他区域。近年来,注意力机制已经成功应用在各种场景下的推荐系统中了。其中最知名的,要数阿里巴巴的深度推荐模型,DIN(Deep Interest Network,深度兴趣网络)。Deep Interest NetworkDIN模型结构图如图所示:DIN模型依然是采用了基模型的结构,只不过是在这个的基础上加了一个注意力机制来学习用户兴趣与当前候选广告间的关联程度, 用论

2021-03-28 02:43:39 224

原创 手搭深度推荐模型(四) NFM

本文是笔者参与datawhale组织的深度推荐模型组队学习的分享,学习内容见本链接 ,本文中所指的教程即该链接中的相应文件。一、概念为了在稀疏条件下有更好的预测性能,2017年何向南教授等人在SIGIR会议上提出了NFM(Neural Factorization Machines)模型。传统的FM及其改进的FFM本质是一个二阶特征交叉模型,尽管其处理稀疏向量的能力很好,但是由于FM的特征交叉是一种暴力组合,无法扩展到更高阶,因此限制了FM的表达能力。因此作者尝试使用非线性表达能力强的MLP部分代替了原F

2021-03-24 18:14:31 445

原创 手搭深度推荐模型(三) DeepFM

本文是笔者参与datawhale组织的深度推荐模型组队学习的分享,学习内容见本链接 ,本文中所指的教程即该链接中的相应文件。DeepFM这篇比之前两篇更难理解了一些,DeepFM对Wide&Deep的改进主要在于wide侧使用了FM,而FM又使用了矩阵分解的思想,因此这篇我回顾一下从传统机器学习到DeepFM每个算法都在注重解决什么问题,帮助自己理解DeepFM。一、协同过滤 CF协同过滤的总体思路是建立m个用户与n个物品的共现矩阵,通过使用余弦相似度、皮尔逊相关系数等计算相似度的算法,计算用

2021-03-21 22:38:23 369

原创 手搭深度推荐模型(二) Wide&Deep

本文是笔者参与datawhale组织的深度推荐模型组队学习的分享,学习内容见本链接 ,本文中所指的教程即该链接中的相应文件。why Wide&Deep?上一篇笔者实现了Deep Crossing模型,Deep Crossing采用了Embedding + MLP的结构,是推荐系统领域应用深度学习的首篇完整论文,它主要是将深度学习的强泛化能力引入了推荐系统,使模型能够有较强的推理能力,在提高新鲜度、挖掘相关关系不明显的物品时非常有用。但是在推荐领域还有很多应该被推荐的东西都是很直白的,很显然的。

2021-03-19 01:17:29 338

原创 手搭深度推荐模型(一) DeepCrossing

本文是笔者参与datawhale组织的深度推荐模型组队学习的分享,学习内容见本链接 ,本文中所指的教程即该链接中的相应文件。传统推荐系统模型有协同过滤、矩阵分解、FM算法等,随着算力的提升以及层出不穷的算法,深度学习技术逐渐在推荐系统中展露手脚,因为深度学习有更强的表达能力,有更灵活的网络结构。DeepCrossing是深度学习开始在推荐系统领域大显身手的标杆,本篇文章从论文总结、模型实现两个方面入手,深入学习Deep Crossing。论文总结本章基于5W1H法,对论文整理总结。(what) D

2021-03-17 02:12:25 327

原创 MySQL优化经验: 使用连接代替关联子查询

MySQL优化经验: 使用连接代替关联子查询一、什么是关联子查询看一个例子,以下是一个商品清单表,包含的列有商品编号、商品名称、商品类型和商品价格如果我们想要选取出各商品种类中高于该商品种类的平均销售单价的商品,可以用如下代码实现:SELECT product_type, product_name, sale_price FROM product AS p1 WHERE sale_price > (SELECT AVG(sale_price)

2021-02-22 15:44:02 989

原创 Leetcode 腾讯50题 day17

Leetcode 腾讯50题 day17No.344 反转字符串题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]代码class Solution: def reverse

2021-01-29 20:49:38 111

原创 Leetcode 腾讯50题 day16

Leetcode 腾讯50题 day16No.237 删除链表中的节点题目描述请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.代码# Definition for singly-linked list.# class ListNode:#

2021-01-29 00:28:52 79

原创 Leetcode 腾讯50题 day15

Leetcode 腾讯50题 day15No.231 2的幂题目描述给定一个整数,编写一个函数来判断它是否是 2 的幂次方。输入: 1输出: true解释: 20 = 1代码class Solution: def isPowerOfTwo(self, n: int) -> bool: return n&(n-1)==0 if n>0 else FalseNo.235 二叉搜索树的最近公共祖先题目描述给定一个二叉搜索树, 找到该树中两

2021-01-27 22:53:59 160

原创 Leetcode 腾讯50题 day14

Leetcode 腾讯50题 day14No.215 数组中的第K个最大元素题目描述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。输入: [3,2,1,5,6,4] 和 k = 2输出: 5代码class Solution: def findKthLargest(self, nums: List[int], k: int) -> int: class maxheap(object)

2021-01-26 14:20:29 93

原创 Leetcode 腾讯50题 day13

Leetcode 腾讯50题 day13No.160 相交链表题目描述编写一个程序,找到两个单链表相交的起始节点。代码# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def getIntersectionNode(self, headA

2021-01-26 01:01:21 114

原创 Leetcode 腾讯50题 day12

Leetcode 腾讯50题 day12No.155 最小栈题目描述设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],

2021-01-24 01:52:44 158

原创 Leetcode 腾讯50题 day11

Leetcode 腾讯50题 day11No.136 只出现一次的数字题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?输入: [4,1,2,1,2]输出: 4我的思路这道题使用哈希表来做很容易想,不过需要用O(n)的空间复杂度。题目要求不用额外空间,所以要看看题中有没有什么特别的信息。可以发现除了所求元素外,其他所有元素出现且仅出现两次,那么就能想到用位

2021-01-22 22:04:30 112

原创 Leetcode 腾讯50题 day10

Leetcode 腾讯50题 day10No.121 买卖股票的最佳时机题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出

2021-01-22 01:58:58 101

原创 Leetcode 腾讯50题 day9

Leetcode 腾讯50题 day9今天太忙了,目前只做了一道题,剩余的题目这周末补一下No.88 合并两个有序数组题目描述给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。输入:nums1 = [1,2,3,0,0,0], m = 3, num

2021-01-20 23:48:09 76

原创 Leetcode 腾讯50题 day8

Leetcode 腾讯50题 day8今天的题解我分享了一些使用Python做算法题的小技巧,涉及到组合数求解math.comb()递归调用的记忆化存储装饰器@lru_cache求解字符串排列组合的包itertools如果有使用Python做算法题的同学可以看看我的题解中的分享。另外,练习算法的目的还是在锻炼思维与编码能力,这些函数只是巧劲,有时候并不能有效降低时间复杂度,不过这些函数笔试的时候一般都可以使用(math.comb函数未必),掌握了会在写代码的过程中更加手到擒来。No.62 不

2021-01-19 20:20:00 303 1

原创 Leetcode 腾讯50题 day7

Leetcode 腾讯50题 day7No.54 螺旋矩阵题目描述给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]输出: [1,2,3,4,8,12,11,10,9,5,6,7]我的思路这是一道模拟题,就是按照题目给出的思路实现就可解出的题。我这里的主要思路是定义好前进的方向与是否访问过该元素的矩阵,因为整个矩阵的遍历是顺时针

2021-01-18 17:03:48 205 2

原创 Leetcode 腾讯50题 day6

Leetcode 腾讯50题 day6No.46 全排列题目描述给定一个 没有重复 数字的序列,返回其所有可能的全排列。输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]代码class Solution: def permute(self, nums: List[int]) -> List[List[int]]: if len(nums) ==

2021-01-17 22:23:45 108

原创 Leetcode 腾讯50题 day5

Leetcode 腾讯50题 day5No.23 合并K个升序链表题目描述给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4

2021-01-16 20:47:31 118

原创 Leetcode 腾讯50题 day4

Leetcode 腾讯50题 day4No.20 有效的括号题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。输入: "([)]"输出: false代码class Solution: def isValid(self, s: str) -> bool: left = ['(', '[',

2021-01-15 23:27:39 91

原创 Leetcode 腾讯50题 day3

Leetcode 腾讯50题 day3今天因为在做上一期pandas的综合测试题,第三题三数之和还没有写出更好的实现思路,暂时贴了官方题解的答案,主要和大家分享一些利用时间复杂度进行解题的技巧,在No.11盛最多水的容器的题解中分享No.11 盛最多水的容器题目描述给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容

2021-01-14 00:27:36 184

原创 Pandas进阶之综合练习

Pandas进阶之综合练习pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文题目源自datawhale远昊大佬,本篇博客是其中任务四、任务五的解答,任务一至三的解答可以看我的另一篇博客【任务四】显卡日志下面给出了3090显卡的性能测评日志结果,每一条日志有如下结构:Benchmarking #2# #4# precision type #1##1# model average #2# time : #3# ms其中#1#代表的是模型

2021-01-13 22:29:59 571 1

原创 Leetcode 腾讯50题 day2

Leetcode 腾讯50题 day2今天的题目整体都比昨天简单一些,主要涉及到字符串处理及整数的位数操作,也没有什么可以分享的,就简单贴一下思路和代码吧,以下解法都是用Python解的。No.7 整数反转题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。输入:x = 123输出:321提示:-231 <= x <= 231 - 1解题思路我将整数作为字符串处理,反转完成后再生成整数代码class Solution: def r

2021-01-12 20:29:36 113

原创 Leetcode 腾讯50题 day1

Leetcode 腾讯50题 day1No.5 最长回文子串题目描述:给你一个字符串 s,找到 s 中最长的回文子串。输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成解题思路:综述:这道题是一道可以用动态规划解决的题,对于刚开始接触算法的同学,首先要解决怎么想到这题可以用动态规划解决,在想到要用动态规划解决的时候,重心则要放在该怎么定义状态和

2021-01-11 22:57:16 346 1

原创 Pandas进阶拾 时序数据

Pandas进阶拾 时序数据pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了pandas官网另注:本文是对joyful pandas教程的延伸,完整理解需先阅读joyful pandas教程第拾章注:前面教程部分没做更改,主要做完了习题,习题部分有很多原创内容,这会来不及更改格式删东西了,明早改一下格式import numpy as npimport pandas as pd一、时序中的基本对象时间序列的

2021-01-10 22:37:21 418

原创 Pandas进阶玖 类别与区间

Pandas进阶玖 类别与区间pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了pandas官网另注:本文是对joyful pandas教程的延伸,完整理解需先阅读joyful pandas教程第八章【练一练】无论是interval_range还是下一章时间序列中的date_range都是给定了等差序列中四要素中的三个,从而确定整个序列。请回顾等差数列中的首项、末项、项数和公差的联系,写出interval_rang

2021-01-07 22:43:13 305 1

原创 Pandas进阶捌 文本处理

Pandas进阶捌 文本处理pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充本文部分引用了原教程,并参考了《利用Python进行数据分析》pandas官网python官网learn-regex-zh另注:本文是对joyful pandas教程的延伸,完整理解需先阅读joyful pandas教程第八章五、练习Ex1:房屋信息数据集现有一份房屋信息数据集如下:将year列改为整数年份存储。将floor列替换为Level, H

2021-01-06 21:09:17 241

原创 Pandas进阶柒 缺失数据

Pandas进阶柒 缺失数据pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了《利用Python进行数据分析》、pandas官网为了方便自己回顾和助教审阅,每一节先将原教程重要知识点罗列一下帮助自己回顾,在其后写一些自己的心得以及我的习题计算过程注:第二道习题还有点bug没解决,然后其他的部分的排版还没有弄好,实验室要关门了,明早过来继续处理另注:本文是对joyful pandas教程的延伸,完整理解需先阅读joy

2021-01-03 22:59:03 359 1

原创 pandas进阶 期中练习

Pandas进阶 期中练习pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充【任务一】企业收入的多样性【题目描述】一个企业的产业收入多样性可以仿照信息熵的概念来定义收入熵指标:I=−∑ip(xi)log⁡(p(xi))\mathrm{I}=-\sum_{\mathrm{i}} \mathrm{p}\left(\mathrm{x}_{\mathrm{i}}\right) \log \left(\mathrm{p}\left(\mathrm{x}_{

2021-01-02 10:51:57 911 5

原创 Pandas进阶陆 连接操作

Pandas进阶陆 连接操作pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了《利用Python进行数据分析》、pandas官网另注:本文是对joyful pandas教程的延伸,完整理解需先阅读[joyful pandas教程第六章]https://datawhalechina.github.io/joyful-pandas/build/html/%E7%9B%AE%E5%BD%95/ch6.html)目前进度:内

2020-12-29 23:03:25 185

原创 Pandas进阶伍 变形

Pandas进阶伍 变形pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了《利用Python进行数据分析》、pandas官网另注:本文是对joyful pandas教程的延伸,完整理解需先阅读joyful pandas教程第五章目前的进度:学完了内容,做了一个练一练和ex1前两问,都有解决过程,28号早上补完剩余的习题import numpy as npimport pandas as pd1. pivot

2020-12-27 23:02:05 306 1

原创 Pandas进阶肆 分组

Pandas进阶肆 分组pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了《利用Python进行数据分析》、pandas官网一、分组模式及其对象1. 分组的一般模式分组操作在日常生活中使用极其广泛,例如:依据性别\color{#FF0000}{性别}性别分组,统计全国人口寿命\color{#00FF00}{寿命}寿命的平均值\color{#0000FF}{平均值}平均值依据季节\color{#FF0000}{

2020-12-25 23:56:08 262

原创 Pandas进阶叁 索引

Pandas进阶叁 索引pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了《利用Python进行数据分析》、pandas官网这几天太忙了,这次没怎么总结学习的内容,先把做的作业题放一下,晚上刚从外地回来,明天开始有更多时间了,这次打卡内容有些单薄,希望助教大大理解(题目思考过程随后补上)【练一练】select_dtypes是一个实用函数,它能够从表中选出相应类型的列,若要选出所有数值型的列,只需使用.select_

2020-12-22 23:26:07 345

原创 Pandas进阶贰 pandas基础

Pandas进阶贰 pandas基础pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了《利用Python进行数据分析》、numpy官网、pandas官网为了方便自己回顾和助教审阅,每一节先将原教程重要知识点罗列一下帮助自己回顾,在其后写一些自己的心得以及我的习题计算过程本文的的函数总结中,库函数使用 包名+函数名 命名,如pd.read_csv()类方法用 类名简写或x + 函数名 命名,如df.to_csv()

2020-12-20 02:23:02 333 1

原创 Pandas进阶贰 pandas基础

Pandas进阶贰 pandas基础pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了《利用Python进行数据分析》、numpy官网、pandas官网为了方便自己回顾和助教审阅,每一节先将原教程重要知识点罗列一下帮助自己回顾,在其后写一些自己的心得以及我的习题计算过程本文的的函数总结中,库函数使用 包名+函数名 命名,如pd.read_csv()类方法用 类名简写或x + 函数名 命名,如df.to_csv()

2020-12-19 23:36:48 471 1

原创 Pandas进阶壹 巩固基础

Pandas进阶壹 巩固基础pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了《利用Python进行数据分析》一、Python列表操作进阶1. 列表推导式可以使用for循环推导列表,此处for可以是多层嵌套表达,原理和多层循环之后向列表中插入一个值相同,因此列表推导式for前面的表达式可以使用正常表达式的所有操作d = {'a':1, 'b':2}[i+'_'+str(d[i])+'_'+j+'_'+str

2020-12-16 22:30:51 195

转载 推荐系统实战之排序层

前言目前还没跑出结果,内容为转载。排序模型通过召回的操作, 我们已经进行了问题规模的缩减, 对于每个用户, 选择出了N篇文章作为了候选集,并基于召回的候选集构建了与用户历史相关的特征,以及用户本身的属性特征,文章本省的属性特征,以及用户与文章之间的特征,下面就是使用机器学习模型来对构造好的特征进行学习,然后对测试集进行预测,得到测试集中的每个候选集用户点击的概率,返回点击概率最大的topk个文章,作为最终的结果。排序阶段选择了三个比较有代表性的排序模型,它们分别是:LGB的排序模型LGB的分类

2020-12-06 17:25:16 554

原创 推荐系统实战之特征工程

推荐系统实战之 特征工程前言本次特征工程任务我主要从理论出发,加强对推荐系统的特征工程的了解。本文主要参考了王喆大佬的《深度学习推荐系统》,将从推荐系统的视角出发,结合本次新闻推荐比赛的实际案例,探讨推荐系统的特征工程。数据决定了机器学习模型的上限,特征则是对数据的表达,特征工程就是利用工程化的方法寻找对数据更好的表达。在推荐系统中,数据分为用户信息、物品信息和场景信息。推荐系统的特征工程就是利用工程手段从“用户信息”“物品信息”“场景信息”中提取特征的过程。构建推荐系统特征工程的原则由于用户的行

2020-12-03 20:28:58 1872 3

原创 召回评估

召回评估本次task多路召回任务比较陌生,代码量比较大,还需要一些时间理解。因此我选择针对一些重点内容逐一查阅资料来建立更深刻的理解。先从召回评估开始,逐步窥探召回层的相关内容。**todo:**目前整理了有哪些方法,后续再细探每种评估方法的优缺点,并将本次多路召回算法中的评估方法替换成其他评估算法来寻找差别为什么进行召回评估当前推荐系统的模型并不是端到端的,通常包括召回层与排序层,召回层负责将大量数据快速缩小,为排序层提供快速精简且有效的输入,因此,召回的结果决定了排序层模型性能的上限,因此需要对

2020-12-02 18:51:03 404

空空如也

空空如也

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

TA关注的人

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