- 博客(167)
- 收藏
- 关注
原创 Transformer
rnn的输入有先后,transfomer的输入是一起处理的,这样做增快了速度,但是忽略单词的先后关系,所有transfomer要位置编码。6个encoder结构是完全相同的(但参数上不同),6个decoder结构是完全相同的(但参数上不同)。rnn梯度消失:rnn的梯度是梯度和,梯度消失不是变为0而是总梯度被近距离梯度阻挡,远距离梯度忽略不计。query是汤姆,key1是Tom,key2是Chase,K3是Jerry。因为在预测阶段是没有后面的信息的,所以需要mask。pos我,k爱,pos+k你。....
2022-08-16 15:33:12 1674
原创 新闻事件的多空识别和预警
生成最后的一个状态向量,不足以概括整句那么长的话的信息(不足以表达),因此我们要在状态向量的基础上添加我的词向量、爱的词向量、北京的词向量。这边的前向神经网络是局部的前向神经网络,z1得到r1,而不是z1和z2得到r1。tree的feature importance和tree的路径非常相关(路径依赖)(1)在处理结构化数据的时候,首先要对y进行分析和处理。(如将不连续的y转化为连续的y)不再是这个词的词向量是什么,而是这个词在这句话里的词向量是什么。(5)见过的值预测的好,对线性关系拟合不太好。...
2022-08-15 20:58:26 338
原创 word2vec理论
字向量——多用于古诗生成词向量——多用于翻译、生成小说、文本分类语料库第一步,先要做分词word2index:语料库找出唯一不重复的词语,再给它分配一个唯一的idindex2word:word2index反过来word2onehot:onehot编码天气这个词,onehot编码后的向量是1 * 5000的需要和矩阵w1相乘减少向量的维度(本质就是提取w1矩阵的第index行的元素,所以不用相乘)再用这个1 * 50的向量乘以矩阵w2(和w1没关系),得到1 * 5000的向量,之后进行so
2022-07-10 14:34:50 627
原创 图神经网络(贪心学院)
更新函数在每个节点处都是共享的通过第一步更新,我们可以看到离他距离为一的所有的节点;通过第二步更新,我们可以看到离他距离为二的所有的节点;更新的次数足够多,就有能力感知到整张图如何保证迭代最后会收敛?保证F是一个压缩映射,最后会收敛到一个不动点存在缺陷:过平滑的问题,节点的embedding趋于一致化不再要求更新函数是一个压缩映射,并且不再要求更新到收敛,防止过拟合聚合邻居节点的信息MPNN:空域卷积形式化的框架(1)消息的传递(从相邻的节点怎么传递消息过来)——Ml+1M_{l+1}M
2022-06-19 02:05:06 394
原创 金融风控实战——社交网络分析
上节课有同学希望能讲一些设备指纹的内容,所以这节课我们先讲一下设备指纹,作为反欺诈图谱的基础。可以把手机设备理解成一个人,像人一样有身份证号和名字(设备序列号等),没有化妆(篡改)、没有被假冒(设备账户被盗用、冒用)等,是用于唯一标识出该设备的设备特征或者独特的设备标识。一般都是基于某些设备信息,通过一些设备指纹算法会将这些信息组合起来,通过特定的hash算法得到一个最后的ID值,作为该设备的唯一标识符。常见的元素有:主动式设备指纹技术需要在客户端上植入自己的Javascript或SDK代码,主动收集设备相
2022-06-15 21:12:41 1350 1
原创 金融风控实战——复杂网络
(a,b)——>(起始点,结束点)v6连接了三个节点,v3、v7、v5但是这三个节点都是小菜鸡某个节点的影响力不光要考虑关联的节点数,同时要考虑关联节点的重要性
2022-06-15 14:42:14 439
原创 金融风控实战——异常检测(一)
反欺诈项目很多情况下就是客户根本不知道什么是欺诈,什么不是。换句话说,诈骗的定义很模糊。往小了说,反诈骗似乎是一个二分类问题(binary classification),但你仔细想想后会发现其实这是个多分类问题(multi-class classification),因为可以每种不同的诈骗都当做一种单独的类型。除了欺诈手段多样且持续变化,欺诈检测一般还面临以下问题:因此,在实际情况中,我不建议直接用任何监督学习,至少不能单纯依靠一个监督学习模型来奢求检测到所有的诈骗。这就陷入了一个死循环,因为没有历史标签
2022-06-09 10:06:37 3314 4
原创 nlp(贪心学院)——有向图与无向图、生成模型与判别模型、CRF
任务256: 有向图与无向图模型有向图每个条件概率只依赖局部无向图每个条件概率依赖全局任务257: 生成模型与判别模型01 基本概念假设我们有训练数据(X,Y),X是属性集合,Y是类别标记。这时来了一个新的样本样本 x ,我们想要预测它的类别y。我们最终的目的是求得最大的条件概率 P(y|x)作为新样本的分类。判别式模型这么做根据训练数据得到分类函数和分界面,比如说根据SVM模型得到一个分界面,然后直接计算条件概率 P(y|x),我们将最大的 P(y|x)。作为新样本的分类。判别
2022-05-08 21:00:36 390
原创 nlp(贪心学院)——时序模型、HMM、隐变量模型、EM算法
任务225: 时序模型随时间维度变化的每时每刻有相关性(t时刻数据t+1时刻数据有相关性)时序数据长度不确定时序数据:如股票价格、语音、文本、温度任务226: HMM的介绍观测值、隐式变量z是一个隐式的状态可以是生成模型,从状态生成观测值也可以是判别模型任务227: HMM的应用例子掷硬币案例A硬币出现正面的概率是μ1\mu_{1}μ1B硬币出现正面的概率是μ2\mu_{2}μ2小明和我隔着一块不透明的布小明有自己的顺序投A还是投B,我只能看到硬币最后是正面还是反面朝
2022-05-08 13:08:43 1365
原创 nlp(贪心学院)——实体消歧、实体统一、指代消解、句法分析
任务212:Entity Disambiguation (实体消歧)介绍小米是公司还是吃的?苹果是公司还是吃的?根据左边的上下文找出左边的James Craig到底是右边(1)(2)(3)哪个James Craig有一个描述库(1)苹果:一种水果(2)苹果:一家公司(1)问题的句子,实体前找20个词,实体后找20个词,然后用tf-idf(2)解释整句话使用tf-idf(3)比较相似度或者在不同上下文中,计算苹果的词向量,然后计算余弦相似度任务214:Entity Resolutio
2022-05-06 14:04:53 2320
原创 nlp(贪心学院)——信息抽取
任务188: 信息抽取介绍先抽取实体——>再抽取关系1)标记实体,实体分类(方便抽取关系)2)关系抽取(关系是人为定义的)3)指代消解,一个代词指代多个内容的时候分别到底是指拿个内容4)实体统一(实体链接)5)实体消歧任务189: 命名实体识别介绍意图识别:先规则,规则不行用模型任务190: 简历分析场景主要是定义我关心的实体类别(可能需要大量的词库)任务191: 搭建NER分类器一个单词有一种词性,但是有可能几个单词共同组成一个实体,B指开头,I指
2022-05-05 20:35:13 1576
原创 nlp(贪心学院)——词性标注、MAP和MLE
任务077:词性标注-实战(1)进行词性标注,这里用了Noise Channel Model将式子进行化简问题便转换成2个步骤计算A、B、π\piπ利用维特比算法找出最优解A是一个N乘以M的的矩阵,每一列是词库里出现的单词,每一行是单词的词性π\piπ是每一种词性的词作为句子开头词的概率B是前一个单词词性已知,后一个单词是某种词性的概率traindata.txt的样子:tag2id, id2tag = {}, {} # maps tag to id . tag2id: {"V
2022-05-03 18:57:00 696
原创 nlp(贪心学院)——笔记
任务048:01在训练数据里没有见过的怎么处理?第二题,新鱼种的概率约等于之前只抓到一次的鱼的概率加和,即3/18第三题,即然有新鱼种,抓到为鲨鱼的概率就要降低了任务049:02Good-Turning SmoothingGood-Turning Smoothing最大的问题是Nc+1N_{c+1}Nc+1可能不存在,此时要利用趋势拟合曲线,做出Nc+1N_{c+1}Nc+1的预测任务050:03利用语言模型生成句子使用Unigram Model生成句子,是不太符合咱们语言的逻辑
2022-04-30 22:51:28 435
转载 nlp(贪心学院)——转载
ai工程师必备的核心功能现实中的问题—>数学优化问题—>通过合适的工具解决为什么NLP比CV难? 图片是所见即所得,而语言不只有表面意思,语言还有更加深入的浅层意思 如何解决一词多义? 将词放入上下文(context)中去理解 一个简单的机器翻译系统,如何将图中的一句话翻译出来,下面是翻译的例子,方法只能通过词与词对应人工学习出对应规则,然后猜测翻译的句子。 以上存在的问题 翻译速度慢语义不明(歧义)没有考虑上下文翻译后的句子语法不对需要大量的人工规则统计 解决方法:给定一句话,先
2022-04-30 12:00:33 906
原创 金融风控实战—模型可解释之shap
import timeimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitimport xgboostimport pandas as pdimport numpy as np#混淆矩阵计算from sklearn import metricsfrom sklearn.metrics import roc_curve, auc,roc_auc_scorefrom sklearn
2022-04-06 01:07:13 4438
原创 特征衍生模块封装与功能优化
五、特征衍生模块封装与功能优化 为了方便后续调用此前定义的一系列种类繁多的特征衍生方法,我们考虑将所有的函数代码封装到一个名叫“feature_creation”的模块中,同时后续所有和特征衍生相关的代码也将一并写入该模块内。1.特征衍生模块封装模块代码结构 从一个更标准模块定义角度考虑,我们首先在模块的开头进行必要的标注,包括模块编译环境、编码格式、模块内容说明、以及作者和版本号等:然后进入到代码部分。这里需要注意的是,由于我们会将所有的代码写到一个模块内,而不同的函数彼此之间会存在相
2022-04-04 15:33:52 2672
原创 金融风控实战——信贷准入模型
import pandas as pd from sklearn.metrics import roc_auc_score,roc_curve,auc from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression import numpy as np import math import xgboost as xgb import
2022-03-24 19:58:13 2748
原创 CatBoost讲解
CatBoost三个特点(1)“减少过度拟合”:这可以帮助你在训练计划中取得更好的成果。它基于一种构建模型的专有算法,这种算法与标准的梯度提升方案不同。(2)“类别特征支持”:这将改善你的训练结果,同时允许你使用非数字因素,“而不必预先处理数据,或花费时间和精力将其转化为数字。”(3)支持Python或R的API接口来使用CatBoost,包括公式分析和训练可视化工具。(4)有很多机器学习库的代码质量比较差,需要做大量的调优工作,而CatBoost只需少量调试,就可以实现良好的性能。这是一个关键性的
2022-03-16 17:54:27 775
原创 时间序列模型简介
时间序列模型简介 尽管此前我们已经用到了time series这个专业名词,但我们对时序特征进行的处理,并不是time series这个专业名词所代表的真正含义,既时间序列。尽管本阶段我们并不会讲解时间序列模型,但既然讨论了时序特征,对时间序列略加了解,也是能够增加对时序特征处理方法理解的。因此以下部分作为补充内容,简单介绍下到底什么是时间序列模型。注,此处仅对时间序列分析模型进行简单介绍,而时间序列分析模型本身也只是针对时序数据进行分析的诸多模型中的一种,其他能够进行时序规律挖掘的模型还包括RNN
2022-03-15 15:52:30 8835 1
原创 金融风控实战——有监督分箱
卡方分箱 分箱的方法有很多,卡方分箱属于其中一种,属于有监督系列的。卡方分箱正是一种基于卡方检验的分箱方法,更具地说是基于上面提到的第二种应用,独立性检验,来实现核心分箱功能的。 卡方分箱算法简单来说,有两个部分组成:1)初始化步骤;2)合并。小栗子:计算所有相邻分箱的卡方值:也就是说如果有1,2,3,4个分箱,那么就需要绑定相邻的两个分箱,共三组:12,23,34。然后分别计算三个绑定组的卡方值。从计算的卡方值中找出最小的一个,并把这两个分箱合并:比如,23是卡方值最小的一个,那么就将2和
2022-03-12 21:31:31 1966 4
原创 金融风控实战——迁移学习
迁移学习为什么做迁移?源域样本和目标域样本分布有区别,目标域样本量又不够。场景思考我们平时建模会使用到迁移学习的一些场景:1)新开了某个消费分期的场景只有少量样本,需要用其他场景的数据进行建模;2)业务被迫停止3个月后项目重启,大部分训练样本比较老旧,新的训练样本又不够;3)在某个新的国家开展了类似国内的业务,因为国情不同,显然部分特征分布是不同的;主要任务缩小边缘分布之间和条件分布下的差异。几个基本概念:Domain(域):包括两部分:feature space(特征空间)和pr
2022-03-10 19:52:29 2699 4
原创 金融风控实战——可解释人工智能技术
可解释的基本概念机器学习/人工智能可解释性(简称 XAI)正变得越来越流行。随着算法在金融、医疗保健和保险等行业的高风险决策中变得越来越普遍,对可解释性的需求持续增长。关于“可解释性”的精确定义,目前工业界和学术界仍未达成一个统一的标准,但是一个比较简单直接的定义为:“可解释性”是帮助 人工智能技术的的决策和行为能够被人类理解的一系列方法。可解释人工智能技术中的大部分概念和我们熟悉的人工智能技术中的概念是完全相同的,例如数据集,样本,特征,模型等等,这里需要额外说明两个在可解释人工智能技术中相对比较独特
2022-03-07 21:19:52 2874
原创 Lesson 13.3 梯度不平稳性与Glorot条件
Lesson 13.3 梯度不平稳性与Glorot条件 从本节开始,将正式进入到优化方法的具体方法部分内容。首先是关于激活函数使用过程的优化。在上一节的结尾,我们发现,尽管激活函数的使用能够有效提升神经网络模型效果,但激活函数的简单叠加却会让模型出现很多问题。深度学习本来就是深层次神经网络,如果不解决激活函数在叠加过程中遇到的问题,深层次神经网络也就无从构建。 本节将从上一节建模过程中所遇到的、堆叠激活函数之后遇到的问题入手,讨论造成这些问题的根源,以及如何通过一些优化方法解决这些问题。模型病灶
2022-03-02 19:26:46 1374 4
原创 金融风控实战——信贷特征衍生与筛选(中国移动人群画像赛TOP1)
运营商变量的深度挖掘我们以本次比赛的特征为例进行展开的描述:1、用户实名制是否通过核实 1为是0为否 目前国内基本上是手机卡绑定身份证,当然有部分落后地区仍旧存在着买卖所谓流量卡这类的经营活动,一般这类特征常常作为反欺诈特征作为反欺诈规则的一部分,除此之外,用户的实名制使用的身份证数据一般是可以获取的,对于身份证进行分割提取变量也是比较常见的衍生手段:首先,这里的11代表了所在省份的代码,我们常通过码表,来对将编码转化为具体的明文:(下面列出部分码表)这里我们就可以衍生出用户所在省份为北京同样
2022-02-25 20:00:55 2078 1
原创 金融风控实战——模型融合
过采样方法使用条件(1)负样本可以代表样本空间(2)数据是足够干净的(样本、特征没有噪声)过拟合(1)增多数据(2)特征筛选(3)调参(4)模型融合模型融合投票器模型融合from sklearn import model_selectionfrom sklearn.linear_model import LogisticRegressionfrom sklearn.tree import DecisionTreeClassifierfrom sklearn.svm import
2022-02-24 19:59:05 1656
原创 金融风控实战——不均衡学习
数据不平衡在很多真实场景下,数据集往往是不平衡的。也就是说,在数据集中,有一类含有的数据要远远多于其他类的数据(类别分布不平衡)。在贷款场景下,我们主要介绍二分类中的类别不平衡问题。常识告诉我们一家信用正常客户的数据要远远多于欺诈客户的。考虑一个简单的例子,10万正样本(正常客户标签为0)与1000个负样本(欺诈客户标签为1),正负样本比列为100:1,如果直接带入模型中去学习,每一次梯度下降如果使用全量样本,负样本的权重只有不到1/100,即使完全不学习负样本的信息,准确率也有超过99%,所以显然我
2022-02-23 18:56:33 2662
原创 XGBoost详细使用指南
xgboost参数选择较高的学习速率(learning rate)。一般情况下,学习速率的值为0.1。但是,对于不同的问题,理想的学习速率有时候会在0.05到0.3之间波动。选择对应于此学习速率的理想决策树数量。XGBoost有一个很有用的函数“cv”,这个函数可以在每一次迭代中使用交叉验证,并返回理想的决策树数量。对于给定的学习速率和决策树数量,进行决策树特定参数调优(max_depth, min_child_weight, gamma, subsample, colsample_bytree
2022-02-22 19:06:50 5775 1
原创 LightGBM用法速查表
LightGBM用法速查表1.读取csv数据并指定参数建模# coding: utf-8import jsonimport lightgbm as lgbimport pandas as pdfrom sklearn.metrics import mean_squared_error# 加载数据集合print('Load data...')df_train = pd.read_csv('regression.train.txt', header=None, sep='\t')df_tes
2022-02-22 14:58:58 845
原创 XGBoost的基本使用应用&Kaggle便利店销量预测
XGBoost的基本使用应用导入XGBoost等相关包:from numpy import loadtxtfrom xgboost import XGBClassifierfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score加载数据,提取特征集和标签:dataset = loadtxt('pima-indians-diabetes.csv', delimit
2022-02-22 10:50:58 2446
原创 LightGBM原理
1. LightGBM简介GBDT (Gradient Boosting Decision Tree) 是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。GBDT不仅在工业界应用广泛,通常被用于多分类、点击率预测、搜索排序等任务;在各种数据挖掘竞赛中也是致命武器,据统计Kaggle上的比赛有一半以上的冠军方案都是基于GBDT。而LightGBM(Light Gradient Boosting Machine)是一个实现GBDT
2022-02-21 15:33:47 784
原创 菜菜sklearn——XGBoost(3)
4 XGBoost应用中的其他问题4.1 过拟合:剪枝参数与回归模型调参class xgboost.XGBRegressor (max_depth=3, learning_rate=0.1, n_estimators=100, silent=True,objective=‘reg:linear’, booster=‘gbtree’, n_jobs=1, nthread=None, gamma=0, min_child_weight=1,max_delta_step=0, subsample=1, col
2022-02-21 00:15:17 1480
原创 菜菜sklearn——XGBoost(2)
3 XGBoost的智慧class xgboost.XGBRegressor (kwargs,max_depth=3, learning_rate=0.1, n_estimators=100, silent=True,objective=‘reg:linear’, booster=‘gbtree’, n_jobs=1, nthread=None, gamma=0, min_child_weight=1,max_delta_step=0, subsample=1, colsample_bytree=1, c
2022-02-19 22:02:53 1438
原创 菜菜sklearn——XGBoost(1)
1 在学习XGBoost之前1.1 机器学习竞赛的胜利女神数据领域人才济济,而机器学习竞赛一直都是数据领域中最重要的自我展示平台之一。无数数据工作者希望能够通过竞赛进行修炼,若能斩获优秀排名,也许就能被伯乐发现,一举登上人生巅峰。不过,竞赛不只是数据工作者的舞台,也是算法们激烈竞争的舞台,若要问这几年来各种机器学习比赛中什么算法风头最盛,XGBoost可谓是独孤求败了。从2016年开始,各大竞赛平台排名前列的解决方案逐渐由XGBoost算法统治,业界甚至将其称之为“机器学习竞赛的胜利女神”。Github
2022-02-18 16:23:10 1980 1
原创 金融风控实战——特征工程下
特征选择Filter移除低方差的特征 (Removing features with low variance)单变量特征选择 (Univariate feature selection)Wrapper递归特征消除 (Recursive Feature Elimination)Embedded使用SelectFromModel选择特征 (Feature selection using SelectFromModel)将特征选择过程融入pipeline (Feature select
2022-02-15 20:30:41 436
原创 特征选择(feature_selection)
特征选择当数据预处理完成后,我们就要开始进行特征工程了。在做特征选择之前,有三件非常重要的事:跟数据提供者开会!跟数据提供者开会!跟数据提供者开会!一定要抓住给你提供数据的人,尤其是理解业务和数据含义的人,跟他们聊一段时间。技术能够让模型起飞,前提是你和业务人员一样理解数据。所以特征选择的第一步,其实是根据我们的目标,用业务常识来选择特征。来看完整版泰坦尼克号数据中的这些特征:其中是否存活是我们的标签。很明显,以判断“是否存活”为目的,票号,登船的舱门,乘客编号明显是无关特征,可以直接删除。姓名
2022-02-15 02:16:26 5211
原创 金融风控实战——基于时间序列进行特征衍生
import numpy as npimport pandas as pdimport warningswarnings.filterwarnings("ignore")给大家写了35个函数,我们逐个来看一下#最近p个月,inv>0的月份数def Num(inv,p): df=data.loc[:,inv+'1':inv+str(p)] auto_value=np.where(df>0,1,0).sum(axis=1) return inv+'_num.
2022-02-14 03:18:19 691
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人