深度学习细分领域_深度学习在金融领域的应用

本文探讨了深度学习在金融风控领域的应用,包括序列数据建模(LSTM)、图谱建模(GCN)和传统特征衍生(CNN、XDeepFM)。重点介绍了循环神经网络、卷积神经网络和图卷积神经网络的概念及其在金融场景的应用,如B卡、盗号检测、文本分类等。此外,还提到了Node2Vec、随机游走和因子分解机在特征提取和模型构建中的角色。
摘要由CSDN通过智能技术生成

关注上方“Datawhale”,选择“星标”公众号

第一时间获取价值内容

aeb62c473eac65fb31cbc8230263458d.gif

b52b16a2ace712253c28189cbf489b5a.png

作者丨梅子行

来源丨风控算法工程师(ID:RC_algorithms)

现在我们正处在一个深度学习时代,CV领域基本上已经被NN所统治,NLP、推荐也有不同程度的大规模应用。似乎很多从业者对风控领域的认知是我们一定不会使用深度学习方法,归根结底是因为它本身是一个黑箱模型,解释性较差。但是个人理解当我们从LR转向XGBoost的时候,解释性其实就已经不复存在了。纵观整个机器学习界,无外乎都是从传统机器学习逐渐过渡到NN的一个过程,个人觉得深度学习在各个领域的普及是迟早的事情。

那么当前深度学习在风控场景都有哪些应用呢?

我觉得基本可以总结为以下这三个子场景:

1)序列数据建模:代表算法 LSTM

2)图谱建模:代表算法 GCN

3)传统特征衍生:代表算法 CNN、XDeepFM

循环神经网络

目前就使用场景来看,与传统风控建模手段区别最大的,莫过于基于RNN的一系列序列模型,不在使用onehot编码或者时间窗口的描述统计特征进行建模,而是使用循环神经网络对时间序列进行拟合,从而学习到一个用户的发展变化。

71254f213e323d865c7b9c2eaf9aceae.png

代表场景主要是拥有时间顺序的序列数据:

  • B卡

  • 盗号检测

  • 失联模型

  • 文本分类

理论上来说用户在app上的点击数据都可以拿来使用。

双向LSTM的pytorch实现

from torch import nnclass BLSTM(nn.Module):"""        Implementation of BLSTM Concatenation for sentiment classification task"""def __init__(self, embeddings, input_dim, hidden_dim, num_layers, output_dim, max_len=40, dropout=0.5):        super(BLSTM, self).__init__()        self.emb = nn.Embedding(num_embeddings=embeddings.size(0),                                embedding_dim=embeddings.size(1),                                padding_idx=0)        self.emb.weight = nn.Parameter(embeddings)        self.input_dim = input_dim        self.hidden_dim = hidden_dim        self.output_dim = output_dim# sen encoder        self.sen_len = max_len        self.sen_rnn = nn.LSTM(input_size=input_dim,                               hidden_size=hidden_dim,                               num_layers=num_layers,                               dropout=dropout,                               batch_first=True,                               bidirectional=True)        self.output = nn.Linear(2 * self.hidden_dim, output_dim)def bi_fetch(self, rnn_outs, seq_lengths, batch_size, max_len):        rnn_outs = rnn_outs.view(batch_size, max_len, 2, -1)# (batch_size, max_len, 1, -1)        fw_out = torch.index_select(rnn_outs, 2, Variable(torch.LongTensor([0])).cuda())        fw_out = fw_out.view(batch_size * max_len, -1)        bw_out = torch.index_select(rnn_outs, 2, Variable(torch.LongTensor([1])).cuda())        bw_out = bw_out.view(batch_size * max_l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值