自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 A Graph Transformer Model for Next Point-of-Interest Recommendation 论文解析

2024-01-24 10:41:59 537

原创 DFFM: Domain Facilitated Feature Modeling for CTR Prediction论文讲解

2024-01-11 16:11:06 730

原创 Hive sql中条件写在on和where的区别

三、对于inner join 在on上写主表a或者副表b的条件,都会生效,和写在where里结果一样。二、对于left join,在on上写副表b的条件会生效,但是语义与写到where 条件不同。一、对于left join,如果在on上写a表的条件,则该条件不会生效,依旧会全局扫描。

2023-11-16 13:36:49 564

原创 PySpark sql 中一些函数的总结(持续更新)

spark sql 常见的函数

2023-01-29 17:27:07 1297 1

原创 MAC系统 LightGBM模型转为pmml格式

MAC系统 LightGBM模型转为pmml格式 相关流程

2023-01-28 16:46:52 1078

原创 搜广推相关问题——持续更新

搜索推荐常见的问题

2022-11-03 10:47:58 417

原创 Pandas中 的 rank() 函数 和 groupby 的 rank() 函数用法

一、pandas中的rank()函数首先随机初始化一组数,然后data = pd.Series([1,2,3,4,5])print(data)data = data.rank()print(data)这里的rank()函数打印出来虽然和原数组没区别,但是这里rank表示的是次序,所以这里的1.0,2.0表示的是第一名和第二名如果有重复值的话data = pd.Series([1,1,2,2,3,3,4,4,5])print(data)data = data.rank()

2022-02-28 23:42:55 11700

原创 总结一下利用pandas进行条件筛选的几个方法

首先创建一个表:df = pd.DataFrame({'A':[100, 100, 200, 300, 400], 'B':['a', 'a', 'c', 'd', 'e'], 'C':[3, 2, 1, 5, 4]})生成出来的表如下所示:1)找出df中A列值为100的所有数据df[df.A==100]这里也可以是小于(<)、大于(>)、小于等于(<=)、大于等于(&gt..

2021-09-18 15:07:37 23418

原创 新手教程,关于如何使用git命令玩转Github的那些事

目录一、上传github的第一种方法:二、上传github的第二个方法三、分支操作四、对齐操作一、上传github的第一种方法:如果没有下载Git,那么首先需要下载Git,去官网上进行下载https://git-for-windows.github.io/下载完之后配置自己的github账号,邮箱和密码git config --global user.name "yourname"git config --global user.eamil "youremai..

2021-06-26 19:26:53 426 1

原创 Pytorch训练模型得到输出后计算F1-Score 和AUC

1、计算F1-Score对于二分类来说,假设batch size 大小为64的话,那么模型一个batch的输出应该是torch.size([64,2]),所以首先做的是得到这个二维矩阵的每一行的最大索引值,然后添加到一个列表中,同时把标签也添加到一个列表中,最后使用sklearn中计算F1的工具包进行计算,代码如下import numpy as npimport sklearn.metrics import f1_scoreprob_all = []lable_all = []for i,

2021-04-24 19:21:58 17595 4

原创 L1与L2的区别

目录L1与L2为何能解决过拟合的问题:Lasso 回归和岭回归:L1与L2的区别:L1与L2为何能解决过拟合的问题:L1与L2都是正则化,它们的公式如下:L1 范数 当 p=1 时,是 L1 范数,其表示某个向量中所有元素绝对值的和。 L2 范数 当 p=2 时,是 L2 范数, 表示某个向量中所有元素平方和再开根, 也就是欧几里得距离公式。它们都可以解决过拟合的问题,具体是为什么可以解决呢?原因有两点:来自知乎上一种比较直观和简单的理解, 模型过于复杂是因为模.

2021-03-27 20:16:37 3398

原创 二分查找返回第一次查到的位置和最后一次查到的位置

第一次查到的位置:def left_bound(nums,target): low = 0 high = len(nums)-1 while low<=high: mid = low+(high-low)//2 if nums[mid]<target: low = mid+1 elif nums[mid]>target: .

2020-12-22 11:40:21 423

原创 Python实现笛卡尔乘积的几种方法

引言:面试的时候面试官出的这道题,当时写的不是太好,面试结束后下来查了一下,发现大部分的博客都是使用工具包来实现,而且大部分的博客内容还都完全一样,连数字都没有变,找了半天也没找到几个有用的博客。其实这也是现在大部分博客的风气,互相抄袭,没有一点自己的思考内容,我都不明白写这样的博客有什么意义。所以自己打算实现一个不使用工具包来解决的方法,于是在别人的博客帮助下,实现了用回溯法来解决笛卡尔乘积,下面是总结一下解决这个问题的几个方法:1、工具包from itertools import produc

2020-11-17 16:05:49 9899

原创 动态规划模板——Python版本

此文是来自https://leetcode.com/discuss/general-discussion/458695/Dynamic-Programming-Patterns这位外国网友,本人负责汉化目录一、达到目标的最小(最大)路径型问题二、不同的方式三、合并区间四、字符串DP问题四、做决策问题一、达到目标的最小(最大)路径型问题此类问题的描述为:给定目标,找到达到目标的最小(最大)成本(cost)/路径(path)/总和 (sum)。通用模板代码为:for..

2020-11-09 20:22:02 1079

原创 关于回文的常见题目

1、最长回文子串这道题要好好说一下,做了好几次了,做完过一段时间又忘了,所以总结一下,以后忘得时候拿出来看,用两种比较好理解的方法来做先上动态规划的代码class Solution: def longestPalindrome(self, s: str) -> str: if not s: return '' n = len(s) maxlen = 0 res = 0 dp =

2020-09-23 22:29:18 318

原创 关于回溯的常见题目

这里的回溯直接用的labuladong的算法框架,回溯解释1、全排列class Solution: def permute(self, nums: List[int]) -> List[List[int]]: def dfs(nums,temp): if len(temp) == len(nums): res.append(temp[:]) for i in range(len(num

2020-09-20 12:03:35 258

原创 那些和“公共“有关的算法题

一、二叉树类1、二叉树的最近公共祖先class Solution: def lowestCommonAncestor(self, root: TreeNode, p: TreeNode, q: TreeNode) -> TreeNode: if not root or root == p or root ==q: return root left = self.lowestCommonAncestor(root.left,p,q

2020-09-16 23:56:14 617

原创 递增子序列的相关题目总结

目录1.最长连续递增序列2.最长上升子序列3、最长递增子序列的个数4、递增子序列5、最长连续序列这里总结一些递增子序列的相关题目,有的题目中会有最优解,但是这里主要关注的是动态规划的做法,所以只写出动态规划或者通用的一些方法。介绍这些题目之前,先分清一下什么是子序列,什么是子串子序列:子序列是不连续的,如序列[4, 6, 5]是[1, 2, 4, 3, 7, 6, 5]的一个子序列子串:子串是连续的1.最长连续递增序列输入: [1,3,5,4,7]...

2020-06-23 19:28:10 457

原创 面试算法和数据结构中那些和 “K” 相关的题目

本文会列举几道比较常见的和 “K” 相关的问题,有的问题在我的另一篇博客里做了详细的解释,所以这篇文章里我就不做太多解释一、链表1、返回倒数第 k 个节点输入: 1->2->3->4->5 和 k = 2输出: 4...

2020-06-11 09:39:00 310

原创 堆排序的两种方法实现(Python)以及面试中关于堆排序的相关题目

一、堆排序的两种做法对堆排序完全没有了解的同学,可以先看一下B站上的这个视频https://www.bilibili.com/video/BV1Eb41147dK/同时,堆排序的第一种做法也是基于这个视频的。1、堆排序的第一种做法def heapify(arr,n,i): large = i #父节点的下标为i left_child = 2*i+1 #左孩子下标 right_child = 2*i+2 if left_child<n and arr

2020-06-09 10:34:28 754

原创 常见的面试问题————深度学习篇(持续更新)

1、pooling 有什么作用,为什么要用 pooling,pooling 的种类?Pooling 主要作用是保留主要特征,同时保持特征一定的旋转、平移不变性。主要有 max pooling 和 average pooling,一般来说 max pooling 更突出前景,average pooling 更突出背景。2.Pooling 层如何进行反向传播和梯度更新?对于 max po...

2020-05-04 10:37:27 1112

原创 常见的面试问题————NLP篇(持续更新)

1、Word2Vec的原理,使用的技巧?https://mp.weixin.qq.com/s/lerKdFXkhqQaaVl4BGgblA2、fasttext 、word2vec、glove、elmo、bert、GPT、xlnet的区别3、textcnn原理4、Transformer的结构,multi-headAttention的作用5、Transformer的位...

2020-05-04 10:37:13 5449 1

原创 常见的面试问题———机器学习篇(持续更新)

SVM 和 LR 的区别和联系 SVM推导,及使用对偶的原因,SVM 核函数选择 LR 可不可以做非线性分类 bagging 和 boosting 的区别 决策树,GBDT,随机森林的区别 介绍一下 xgboost,xgboost 和 GBDT 的区别,优缺点 如何处理类别不均衡问题 如何判断分类器的好坏(分类器的评价指标) 介绍 Kmeans 算法 样本不均衡的处理方法:权重调...

2020-05-04 10:36:19 884 1

原创 Python实现矩阵转置的三种方法,不使用API和numpy

如果矩阵为:matrix = [[1,2,3], [4,5,6], [7,8,9] ]第一种方法,不使用额外的数组空间:for i in range(len(matrix)): for j in range(0, i): matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]第二种,使用额外...

2020-04-25 22:07:16 1212

原创 python 中 global 和 nonlocal 详细用法解释

一、global1、global 关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用 global 关键字。gcount = 0def global_test(): gcount+=1 print (gcount)global_test()以上代码会报错:第一行定义了全局变量,在内部函数中又对外部函数进行了引用并修改,那么 pyt...

2020-04-25 21:31:14 530

原创 LR为什么不可以用MSE作为损失函数

原因总结:MSE 会有梯度消失现象 MSE 的导数非凸函数,求解最优解困难证明:1. 梯度消失公式证明:令,记为。只关注其中单项的公式,并简化可得:可见, 当 h 趋近于 0 时或者趋近于 1 时,该 Loss 的导数都会趋近为 0,从而造成梯度消失现象。2. 非凸函数公式证明关注其二阶导数,可以得出其二阶导数矩阵即 Hessian 矩阵不是正定矩阵。...

2020-04-19 10:42:08 3128

原创 Bagging 和 Boosting 原理及区别

Bagging 和 Boosting 都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。首先介绍 Bootstraping,即自助法:它是一种有放回的抽样方法(可能抽到重复的样本)。1、Bagging (bootstrap aggregating)Bagging 即套袋法,其算法过程如下...

2020-04-07 15:09:59 1134

原创 面试问题:标签平滑是什么?有什么用?

一、标签平滑是什么?机器学习的样本中通常会存在少量错误标签,这些错误标签会影响到预测的效果。标签平滑采用如下思路解决这个问题:在训练时即假设标签可能存在错误,避免“过分”相信训练样本的标签。当目标函数为交叉熵时,这一思想有非常简单的实现,称为标签平滑(Label Smoothing)。我们以2类分类问题为例,此时训练样本为(xi,yi),其中yi是样本标签,为0或1。在训练样本中,我们并不...

2020-04-06 15:47:08 2464 2

原创 k-means算法原理及python代码

k-Means算法是一种聚类算法,它是一种无监督学习算法,目的是将相似的对象归到同一个蔟中。蔟内的对象越相似,聚类的效果就越好。聚类和分类最大的不同在于,分类的目标事先已知,而聚类则不一样。其产生的结果和分类相同,而只是类别没有预先定义。算法原理设计的目的:使各个样本与所在簇的质心的均值的误差平方和达到最小(这也是评价K-means算法最后聚类效果的评价标准)。步骤创建k个点作...

2020-04-06 15:22:33 551

原创 常见的相似度度量方法总结及Python实现

目录1.欧氏距离(Euclidean Distance)2.曼哈顿距离(Manhattan Distance)3.切比雪夫距离( Chebyshev Distance )4.标准化欧氏距离(Standardized Euclidean distance )5.马氏距离(Mahalanobis Distance)6.夹角余弦(Cosine)7.皮尔逊相关系...

2020-04-05 11:11:42 5085 3

原创 EM算法原理解释及公式推导

本文参考的是人人都懂EM算法 - August的文章 - 知乎这篇文章目录一、极大似然概述二、EM算法2.1EM算法描述2.2 EM公式推导三、EM算法案例一、极大似然概述假设我们需要调查我们学校学生的身高分布。我们先假设学校所有学生的身高服从正态分布 。(注意:极大似然估计的前提一定是要假设数据总体的分布,如果不知道数据分布,是无法使用极大似然估计的),...

2020-04-02 16:31:47 5810 3

原创 当面试官问LR与SVM的问题时,他们会问些什么

目录一、LR原理介绍及公式推导二、SVM的原理介绍三、LR与SVM的异同及使用场景一、LR原理介绍及公式推导1. 什么是逻辑回归Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)回归模型中,y是一个定性变量,比如y=0或1,logistic方法主要应用于研究某些事件发生的概率2. 逻辑...

2020-04-01 18:34:50 1077

原创 Word2Vec 怎么将得到的词向量变成句子向量,以及怎么衡量得到词向量的好坏

昨天电话面试问到了这两个问题,感觉回答的不是很好,来此总结一下:1.Word2Vec 怎么将得到的词向量变成句子向量1)平均词向量:平均词向量就是将句子中所有词的word embedding相加取平均,得到的向量就当做最终的sentence embedding。这种方法的缺点是认为句子中的所有词对于表达句子含义同样重要。2)TF-IDF加权平均词向量:TFIDF加权平均词向量就...

2020-03-27 12:37:24 8962

原创 Python实现常见的链表问题

1.环形列表class Solution: def hasCycle(self, head: ListNode) -> bool: if not head or not head.next : return False slow = head fast = head while (fas...

2020-03-27 11:49:40 804

原创 Pandas 对Excel的同一个sheet表多次写入,不覆盖数据。

在我的这篇博客里https://blog.csdn.net/Matrix_cc/article/details/105025330讲述了pandas处理Excel的一些基本的读写操作。今天来个稍微高级点。向Excel的同一个sheet表里写入的话,pandas没有现成的API使我们调用,所以需要我们自己定义一个函数:import pandas as pdfrom openpyx...

2020-03-26 16:49:51 7256

原创 详细教学 Pandas 对excel 文件读写的基本操作!

目录1.读取excel文件2.写入excel文件假如有个excel表的数据如下:1.读取excel文件先导包import pandas as pd读取文件 , shee_name是指定表单fr = pd.read_excel('data.xlsx',sheet_name='people')data=df.head()#默认读取前5行的数据d...

2020-03-22 15:15:00 3608

原创 为什么Bert的三个Embedding可以进行相加?

这个问题是知乎的这个问题:为什么Bert的三个Embedding可以进行相加?我觉得解释合理的是这个回答,这个回答解释的是相加的意义这里的相加是特征交叉而不是特征池化。神经网络中相加是构造特征交互的方法,类似的还有elementwise乘,减法。Bert这类的方法一个极大的优势就是通过BPT和字级别把词向量空间的稀疏性压缩下来,如果你在普通的embedding+nn里做这件事情,...

2020-03-17 17:54:13 1807

原创 深度学习为什么使用梯度下降,而不使用牛顿法或拟牛顿法优化?

梯度下降法 (SGD 为例) 牛顿法 拟牛顿法 时间复杂度(单次迭代) 只需计算 1 阶导,时间复杂度低,为 O(n) 需计算 Hessian 矩阵及其逆,时间复杂度高,为 O(n3) 用正定矩阵近似 Hessian 矩阵的逆,时间复杂度为 O(n2) 收敛速度 收敛慢,迭代次数大 收敛快,迭代次数小 收敛快,迭代次数小 初始...

2020-03-17 17:03:50 2217

原创 Transformer中Multi-head Attention的作用

本文参考https://www.zhihu.com/question/341222779(1)多头的注意力有助于网络捕捉到更丰富的特征 / 信息。原论文中写道:Multi-head attention allows the model to jointly attend to information from different representation subspaces a...

2020-03-14 21:37:40 3417 1

原创 Dropout为什么解决过拟合,以及Dropout的缺点

Dropout为什么解决过拟合:(1)取平均的作用:先回到标准的模型即没有 dropout,我们用相同的训练数据去训练 5 个不同的神经网络,一般会得到 5 个不同的结果,此时我们可以采用 “5 个结果取均值” 或者 “多数取胜的投票策略” 去决定最终结果。例如 3 个网络判断结果为数字 9, 那么很有可能真正的结果就是数字 9,其它两个网络给出了错误结果。这种 “综合起来取平均” 的策略通...

2020-03-14 17:53:04 5469 1

空空如也

空空如也

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

TA关注的人

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