Por três anos, trabalhei na Sérvia como evangelista iOS - havia dois projetos especializados e um Aprendizado de Máquina.
Se você estiver interessado, bem-vindo ao mundo da HMM.
Formulação do problema
Banco austríaco. Ele tem muitos clientes, os clientes têm conta nesse banco. Durante o ano, o cliente gasta recursos de sua conta. Ele vai a lojas, apaga contas de serviços públicos etc. Cada retirada de dinheiro de uma conta é chamada de transação. Uma sequência de transações é fornecida para um determinado período (digamos, um ano). É necessário treinar a máquina para que comece a verificar novas transações como válidas ou suspeitas. E emitiu um aviso neste último caso. Para resolver o problema, você precisa usar o Modelo de Markov Oculto.
Introdução ao HMM
Pego o coronavírus todos os anos durante 10 dias consecutivos. O resto dos dias ele está saudável como um touro.
Vamos representar essa sequência de 365 caracteres como um array. h significa saudável, l significa doente.
days{365} = {hhhhhhhhhhllllllllllhhhhhhhhhhhhhhhhhhhhhhhh...hhhhh}
Pergunta - Qual é a probabilidade de estar doente hoje?
= 3 por cento
, , 15 HMM. - .
- , ?
: - ?
( - 10), = 90 10 .
? -
= 0.3 99.7% .
, 10% 90% .
4 , 2 2 - ! . , 0 1, .
|
|
|
|
|
|
0.997 |
0.003 |
|
|
0.10 |
0.90 |
, , 0.997 , 0.003 .
/? .
, .
27.10.2020 00:00 GAZPROMNEFT AZS 219 2507,43 118 753,95 28.10.2020 / 298380
26.10.2020 14:45 SPAR 77 319,73 121 261,38 27.10.2020 / 220146
26.10.2020 14:38 ATM 60006475 4800,00 121 581,11 26.10.2020 / 213074
25.10.2020 17:52 EUROSPAR 18 970,02 126 381,11 26.10.2020 / 259110
25.10.2020 00:00 Tinkoff Card2Card 20000,00 127 351,13 26.10.2020 / 253237
22.10.2020 14:22 SBOL 4276 7000,00 147 351,13 22.10.2020 / 276951
22.10.2020 12:18 STOLOVAYA 185,00 154 351,13 23.10.2020 / 279502
21.10.2020 16:46 MEGAFON R9290499831 500,00 154 536,13 21.10.2020 / 224592 , , .
21.10.2020 14:17 SPAR 77 987,03 155 036,13 22.10.2020 / 219015
21.10.2020 13:42 PYATEROCHKA 646 289,93 156 023,16 22.10.2020 / 294539
21.10.2020 00:00 MEBEL 75,00 156 313,09 22.10.2020 / 279935
19.10.2020 14:54 SPAR 77 552,92 132 044,80 20.10.2020 / 208987
19.10.2020 00:00 MOBILE FEE 60,00 132 597,72 20.10.2020 / -
16.10.2020 14:19 SPAR 77 579,39 132 657,72 17.10.2020 / 229627
12.10.2020 13:33 STOLOVAYA 185,00 133 237,11 13.10.2020 / 261374
12.10.2020 00:00 OOO MASTERHOST 1000,00 133 422,11 13.10.2020 / 268065
11.10.2020 12:09 SPAR 77 782,87 134 422,11 12.10.2020 / 275816
10.10.2020 14:52 SBOL 400,00 135 204,98 10.10.2020 / 276925
09.10.2020 13:29 SBOL 5484* 1000,00 135 604,98 09.10.2020 / 229184
09.10.2020 11:55 MAGNIT MK KRYUCHYA 274,00 136 604,98 10.10.2020 / 209914
,
def readtrans():
with open ("assets/trans.txt", "r") as file:
grades = file.read()
pattern = '(\d{2,5}),\d\d'
result = re.findall(pattern, grades)
r = list(map(int, result[0::2]))
return r
data = readtrans()
t = list(range(len(data)))
df = pd.DataFrame({'number':t, 'amount':data})
ax1 = df.plot.bar(x='number', y='amount', rot=0, width=1.5)
- ( 10$) l, 100$ h, - m.
print(observations[:20])
trans[] = ['m', 'm', 'm', 'l', 'm', 'm', 'h', 'm', 'l', 'l', 'm', 'l', 'l', 'l', 'l', 'l', 'l', 'm', 'l', 'l']
. 3 3, 3 = {l,m,h}
[[0.5 0.3 0.2]
[0.6 0.3 0.1]
[0.7 0.3 0.0]]
- , 0.7 , 0.3 - .
, . - . - .
- ?! - . , . (), , . .
, , . - , , , , ...
, . , ?! . , 4-6 . . . -. . , 300 .
, 5 5 ( 5 5) 20 .
[[a1 a2 a3 a4 a5] [b1 b2 b3 b4 b5] [c1 c2 c3 c4 c5] [x1 x2 x3 x4 x5] [y1 y2 y3 y4 y5]]
20, 25 ( ). , , 5 .
( ) 5 3.
? , a ( )
l-, m-, h-.
[0.96 0.04 0.0]
100 . .
, , 20 10 .
20+10 , !
!
, .
hmm, - , . , 15-20 , .
.
.
Accord C#
using Accord.MachineLearning;
using Accord.Statistics.Models.Markov;
using Accord.Statistics.Models.Markov.Learning;
using Accord.Statistics.Models.Markov.Topology;
using Comtrade.FMS.Common;
, ( ) . -. , run- )) . 2010 .
Darei uma linha de código em que o método de aprendizagem é criptografado.
var professor = novo BaumWelchLearning (hmm)
Você entenderá os detalhes do método Baum-Welch lendo a literatura relevante e ajustando seu cérebro para uma estatística. processos.
Desejo a você sucesso e uma boa carreira em estruturas de TI bancárias!