小白都能看懂算法系列
文章平均质量分 74
力争用最简洁明了的方式让没太多基础的同学也能看懂算法
bitcarmanlee
这个作者很懒,什么都没留下…
展开
-
风控模型指标PSI详细理解
因为在金融领域,稳定是个特别重要的要求,模型/特征的更新频率,比起搜广推这种业务场景来也慢很多很多。举个很实际的例子,大部分做贷款业务的互金公司,包括传统的银行,在20年用户都发生了重大变化,大家的逾期率普遍都提升了很多,原因大家也都清楚,就是因为疫情的黑天鹅事件。典型情况下,P表示数据的真实分布,Q表示数据的理论分布、估计的模型分布、或P的近似分布。所以拆开一下,很容易看出来,PSI其实是将A(actual)与E(expected)的KL散度做了一个对称化操作,将两个KL散度进行了相加。原创 2023-06-07 11:26:04 · 2679 阅读 · 1 评论 -
风控模型指标KS值详解与代码实现
K-s曲线的数据来源和本质是与ROC曲线是一致的,只不过ROC曲线是将真正类率和假正类率作为横纵轴,K-s曲线则是把真正率和假正率都当作是纵轴,横轴为选定的阈值。crosstab是计算分组频率的特殊透视表,我们先试用crosstab计算分组频率,然后通过cumsum方法,即可求得在各个阈值的累积频率然后完成ks值的计算。关于ks_2samp方法,可以多说几句,其输出了两个值,一个是statistic,就是我们想求的ks值,还有一个pvalue。以python为例,实现ks值的计算。原创 2023-05-22 20:59:30 · 5406 阅读 · 0 评论 -
copilot平替tabnine解析
GitHub Copilot是GitHub和OpenAI合作开发的一个人工智能工具,用户在使用Visual Studio Code、Microsoft Visual Studio、Vim、Cursor或JetBrains集成开发环境时可以通过GitHub Copilot自动补全代码。很简单,因为现在copilot已经收费了,而且价格不算太便宜。简单来说,copilot是一个帮你写代码的利器,根据openai开发的gpt系列算法(目前已经接入gpt4),对代码进行自动补全,能大大提高开发人员的开发效率。原创 2023-05-04 17:29:18 · 8062 阅读 · 3 评论 -
BFS与DFS模板总结
剪枝”的意义在于让程序尽量不要执行到更深的递归结构中,而又不遗漏符合题意的解。当程序递归到底返回到原来执行的结点时,“状态”以及与“状态”相关的变量需要“重置”成第 1 次走到这个结点的状态,这个操作有个形象的名字,叫“回溯”,“回溯”有“恢复现场”的意思:意即“回到当时的场景,已经走过了一条路,尝试走下一条路”。状态通常是一个列表结构,因为一层一层递归下去,需要在列表的末尾追加,而返回到上一层递归结构,需要“状态重置”,因此要把列表的末尾的元素移除,符合这个性质的列表结构就是“栈”(只在一头操作)。...原创 2022-08-09 18:13:08 · 1311 阅读 · 0 评论 -
Xgboost中特征重要性计算方法详解
1.plot_importance方法xgboost中的plot_importance方法内置了几种计算重要性的方式。def plot_importance(booster, ax=None, height=0.2, xlim=None, ylim=None, title='Feature importance', xlabel='F score', ylabel='Features',原创 2022-04-11 15:40:32 · 7551 阅读 · 0 评论 -
小白都能理解的矩阵与向量求导链式法则
0.前言深度学习中最常见的是各种向量还有矩阵运算,经常会涉及到求导操作。因此准确理解向量矩阵的求导操作就显得非常重要,对我们推导计算过程以及代码书写核对有非常大的帮助。神经网络中最常见的操作为向量,矩阵乘法,在求导的时候经常需要用到链式法则,链式法则在计算过程中会稍微麻烦,下面我们来详细推导一下,推导过程全程简单明了,稍微有点数学基础的同学都能看明白。1.标量对标量的链式求导假设x, y,...原创 2020-04-21 22:41:45 · 8308 阅读 · 2 评论 -
小白都能看懂的numpy与pandas中axis解释
1.axis参数在numpy与pandas,以及各种涉及到数值计算的类库中,都会有axis这个参数。这个参数非常重要,初学者理解起来比较困难,如果按二维矩阵中行列的概念去理解会比较难理解。今天咱们用另外一种角度去理解axis参数,比较清晰更容易理解。2.二维的情况先看一个例子data = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3,...原创 2020-04-17 16:28:42 · 718 阅读 · 0 评论 -
小白都能了解的聚类算法之四(谱聚类)
1.谱聚类概述谱聚类(Spectral clustering)是利用矩阵的特征向量进行聚类的一种方法,其本质上是矩阵特征分解进行降维的一种方法。它一般由两部分组成,第一部分是对数据进行变换,第二部分再使用传统的kmeans等方法对变换以后的数据进行聚类。谱聚类是从图论中演化出来的算法,后来在聚类中得到了广泛的应用。它的主要思想是把所有的数据看做空间中的点,这些点之间可以用边连接起来。距离较远的...原创 2020-03-29 23:12:17 · 1736 阅读 · 0 评论 -
小白都能了解的聚类算法之三(层次聚类)
1.简介层次聚类(Hierarchical Clustering)通过计算各类别中数据之间的相似度,最终创建一棵有层次的嵌套聚类树。起核心思想是基于各"簇"之间的相似度,在不同层次上分析数据,得到最终的树形聚类结构。2.agglomerative与divisive自底向上聚合(agglomerative)策略和自顶向下分拆(divisive)策略是层次聚类中常见的两种划分策略。算法的基本步...原创 2020-03-29 12:07:22 · 7331 阅读 · 0 评论 -
入门选手都能了解的聚类算法之二(DBSCAN)
1.简介DBSCAN(Density-Based Spatial Clustering of Application with Noise)是一种基于密度的经典聚类算法,出现的时间大概是1996年前后。2.DBSCAN的一些基本概念DBSCAN算法基于一组“邻域”参数(经常用ϵ\epsilonϵ,MinPts)来描述样本分布的紧凑程度。若给定样本集D=x1,x2,⋯ ,xmD= x_1, x...原创 2020-03-27 22:43:18 · 933 阅读 · 0 评论 -
小白都能了解的聚类算法之一(Kmeans与GMM)
1.标准Kmeans经典的标准kmeans算法无需多言,每个无监督学习的开场白一般都是标准kmeans算法。具体的原理不再多言,可以参考之前的文章:https://blog.csdn.net/bitcarmanlee/article/details/52092288标准的kmeans的优缺点,上面的文章也有详细介绍,再详细说一说kmeans++对于初始中心点的优化kmeans++中心点初始...原创 2020-03-24 23:58:20 · 7064 阅读 · 2 评论 -
入门选手都能理解的ROC曲线与AUC值
1.ROC曲线在信号检测理论中,接收者操作特征曲线(receiver operating characteristic curve,或者叫ROC曲线)是一种坐标图式的分析工具,用于 (1) 选择最佳的信号侦测模型、舍弃次佳的模型。 (2) 在同一模型中设定最佳阈值。在做决策时,ROC分析能不受成本/效益的影响,给出客观中立的建议。ROC曲线首先是由二战中的电子工程师和雷达工程师发明的,用来侦...原创 2020-03-22 21:24:05 · 9956 阅读 · 0 评论 -
小白都能理解的FTRL
前言FTRL(Follow The(Proximally) Regularized Leader)算法是Online Learning的一种常用方法。传统的机器学习算法,基本的步骤是离线先做数据清洗,ETL,特征工程,然后训练模型上线。模型上线后,一般就是静态的,不会在线上有任何变化。即使是效果不太好,预测误差很大,也只能等下一次更新模型再加以修正。但是一般离线的数据pipeline比较长,而...原创 2020-03-20 17:31:50 · 1370 阅读 · 0 评论 -
通俗易懂word2vec详解,入门级选手无难度
前言自从Mikolov在他2013年的论文“Efficient Estimation of Word Representation in Vector Space”提出词向量的概念后,NLP领域仿佛一下子进入了embedding的世界,Sentence2Vec、Doc2Vec、Everything2Vec。词向量基于语言模型的假设——“一个词的含义可以由它的上下文推断得出“,提出了词的Dist...原创 2018-09-01 23:29:21 · 69169 阅读 · 14 评论 -
入门级都能看懂的softmax详解
1.softmax初探在机器学习尤其是深度学习中,softmax是个非常常用而且比较重要的函数,尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。 首先我们简单来看看softmax是什么意思。顾名思义,softmax由两个单词组成,其中一个是max。对于max我们都很熟悉,比如有两个变量a,b。如果a>b,则max为...原创 2018-09-02 23:35:37 · 656861 阅读 · 67 评论 -
初学者都能看懂的蒙特卡洛方法以及python实现
1.什么是蒙特卡洛方法(Monte Carlo method)蒙特卡罗方法也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。 20世纪40年代,在冯·诺伊曼,斯塔尼斯拉夫·乌拉姆和尼古拉斯·梅特罗波利斯在洛斯阿拉莫斯国家实验室为核武器计划工作时,发明了蒙特卡罗...原创 2018-09-15 18:42:47 · 291895 阅读 · 44 评论 -
初学者都能看懂的95%置信区间
1.点估计与区间估计首先我们看看点估计的含义: 是用样本统计量来估计总体参数,因为样本统计量为数轴上某一点值,估计的结果也以一个点的数值表示,所以称为点估计。点估计虽然给出了未知参数的估计值,但是未给出估计值的可靠程度,即估计值偏离未知参数真实值的程度。 接下来看下区间估计: 给定置信水平,根据估计值确定真实值可能出现的区间范围,该区间通常以估计值为中心,该区间则为置信区间。2.中心...原创 2018-09-14 22:56:35 · 379489 阅读 · 11 评论