12
ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade Federal do Paraná Centro Politécnico – Jardim das Américas - PR [email protected] Vania Gryczak Gevert Faculdades Campo Real Guarapuava – PR [email protected] Celso Carnieri Universidade Federal do Paraná Centro Politécnico – Jardim das Américas - PR [email protected] Arinei Carlos Lindebck da Silva Universidade Federal do Paraná Centro Politécnico – Jardim das Américas - PR [email protected] RESUMO Na área de crédito bancário ao tomar um empréstimo ou realizar qualquer negócio a crédito, o passo seguinte ao preenchimento do cadastro na unidade concedente é a análise de crédito. O uso e a posse de instrumentos que auxiliem na tarefa de classificar possíveis solventes ou insolventes podem tornar-se uma grande vantagem competitiva. Nos dados das grandes empresas existe muito conhecimento útil para chegar a uma conclusão sobre essa classificação. Com a metodologia Support Vector Machine pode-se transformar esses dados em informações valiosas para auxiliar as empresas na avaliação da análise do crédito. São analisados neste trabalho o registro de 199 clientes (pessoas jurídicas) de uma agência bancária no Estado do Paraná por meio do algoritmo SMO. Os resultados foram bastante satisfatórios, mostrando que, para esse caso específico, as taxas de erros de classificação foram pequenas e foi obtido superfícies de separação generalizadas e robustas. PALAVRAS CHAVE. Aplicações à economia e Finanças. Support Vector Machine. Sequential Minimal Optimization. ABSTRACT In the area from bank credit to make a loan or to make any credit business, the next step to fill out the register in the allowed unit is to analyse the credit. The use and the ownership from the instruments that help in the task to classify the possible payers and the people that do not pay can become a big competitive advantage. In the data from the big companies there are a lot of useful knowledge to arrive in a conclusion about this classification. With the Support Vector Machine methodology we can transform this data in valuable informations to help the companies in the valuation of the credit analysis. In this work are analysed the register from 199 clients (partnership) from a bank agency in the Paraná State by the means of algorithm SMO. The results were a lot satisfactory, showing that, to this specific case, the classification of the error taxes were small, and it was achieved surfaces of generalized separation and robust. KEYWORDS. Application to Economy and Finance. Support Vector Machine. Sequential Minimal Optimization. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2242

ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

Embed Size (px)

Citation preview

Page 1: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION.

Vanessa Terezinha Ales

Universidade Federal do Paraná Centro Politécnico – Jardim das Américas - PR

[email protected]

Vania Gryczak Gevert Faculdades Campo Real

Guarapuava – PR [email protected]

Celso Carnieri

Universidade Federal do Paraná Centro Politécnico – Jardim das Américas - PR

[email protected]

Arinei Carlos Lindebck da Silva Universidade Federal do Paraná

Centro Politécnico – Jardim das Américas - PR [email protected]

RESUMO Na área de crédito bancário ao tomar um empréstimo ou realizar qualquer negócio a crédito, o passo seguinte ao preenchimento do cadastro na unidade concedente é a análise de crédito. O uso e a posse de instrumentos que auxiliem na tarefa de classificar possíveis solventes ou insolventes podem tornar-se uma grande vantagem competitiva. Nos dados das grandes empresas existe muito conhecimento útil para chegar a uma conclusão sobre essa classificação. Com a metodologia Support Vector Machine pode-se transformar esses dados em informações valiosas para auxiliar as empresas na avaliação da análise do crédito. São analisados neste trabalho o registro de 199 clientes (pessoas jurídicas) de uma agência bancária no Estado do Paraná por meio do algoritmo SMO. Os resultados foram bastante satisfatórios, mostrando que, para esse caso específico, as taxas de erros de classificação foram pequenas e foi obtido superfícies de separação generalizadas e robustas.

PALAVRAS CHAVE. Aplicações à economia e Finanças. Support Vector Machine. Sequential Minimal Optimization.

ABSTRACT In the area from bank credit to make a loan or to make any credit business, the next step to fill out the register in the allowed unit is to analyse the credit. The use and the ownership from the instruments that help in the task to classify the possible payers and the people that do not pay can become a big competitive advantage. In the data from the big companies there are a lot of useful knowledge to arrive in a conclusion about this classification. With the Support Vector Machine methodology we can transform this data in valuable informations to help the companies in the valuation of the credit analysis. In this work are analysed the register from 199 clients (partnership) from a bank agency in the Paraná State by the means of algorithm SMO. The results were a lot satisfactory, showing that, to this specific case, the classification of the error taxes were small, and it was achieved surfaces of generalized separation and robust.

KEYWORDS. Application to Economy and Finance. Support Vector Machine. Sequential Minimal Optimization.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2242

Page 2: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

1. Introdução Ao tomar um empréstimo ou realizar qualquer negócio a crédito, seja pessoal, imobiliário,

agrícola, ou até mesmo um cartão de crédito, o passo seguinte ao preenchimento do cadastro na instituição concedente é a análise de crédito.

A análise de crédito é um estudo da situação financeira do indivíduo e de sua capacidade de endividamento e liquidez; ou seja, verificar se a pessoa tem condições de pagar a dívida que está a contrair, ou no mínimo garantir com outro bem o custo nas condições contratadas.

Nesta análise, ainda são consideradas informações obtidas através de várias fontes externas que representam dados importantes para análise. Essas informações externas são analisadas em relação à sua confiabilidade e relevância referente ao montante de crédito solicitado por um cliente.

Risco de crédito significa o risco em perda de empréstimos ou em investimentos das mais variadas formas. Para melhor entender o risco de crédito, é necessário verificar o processo decisório, que incorpora a obtenção de um grande número de informações dos possíveis clientes.

Nestes casos, os dados do cliente são analisados por gerentes que decidem quanto à aceitação ou rejeição da aplicação, baseados em informações sobre o cliente, em sua experiência gerencial e em relatórios de departamentos administrativos ou agências de crédito. Esta é uma tarefa muito trabalhosa, demorada e que tem um impacto significativo nos lucros das empresas. As decisões devem ser muito criteriosas, pois decisões erradas podem provocar não apenas prejuízos financeiros à instituição de crédito, mas também prejuízos financeiros e morais de seus clientes.

Os maiores problemas na análise de crédito enfrentados pelos bancos e agências de concessão de crédito são:

- Baixa eficiência, pois consomem muito tempo e necessitam de pessoal especializado; - Baixa performance, pois a experiência de alguns gerentes não é tão abrangente para

produzir avaliações bem detalhadas; - Inconsistência, pois diferentes gerentes usam critérios distintos de avaliação. A intenção de qualquer instituição de crédito é que os valores emprestados retornem no

prazo combinado, possibilitando a realização de novos negócios com rendimento melhor do que pendências nos tribunais de cobrança de devedores inadimplentes, que podem levar muito tempo sem solução.

Os bancos precisam distinguir, entre seus clientes, quais pagarão a dívida contraída, e quais não honrarão o compromisso assumido. Para isto, procuram metodologias para que possam tomar uma decisão confiável sobre o crédito.

A proposta deste trabalho é analisar se a aplicação do Support Vector Machine (SVM) poderá ajudar, e se ela beneficiará o trabalho de concessão de créditos, facilitando o gerenciamento e reduzindo a inadimplência através da identificação e classificação dos prováveis “bons” e “maus” pagadores, aumentando com isto a lucratividade e evitando perdas financeiras acarretadas pela inadimplência. 2. Descrição do problema

Os dados utilizados neste artigo foram obtidos de uma agência bancária na cidade de Wenceslau Braz, interior do Paraná, que trabalha na concessão de crédito de pessoas jurídicas (empresas). A clientela atendida são pequenas e médias empresas e o banco coloca à disposição linhas de crédito tanto para capital de giro quanto para investimentos.

O questionário aplicado foi retirado de Lemos (2005) que utilizou redes neurais e árvores de decisão para realizar a análise de crédito, com algumas modificações em algumas das variáveis.

Neste trabalho, utilizaram-se os dados de 199 empresas das quais 64 são inadimplentes e 135 são adimplentes, de onde foram extraídas as 21 informações, que foram escolhidas porque há a necessidade delas para o preenchimento do cadastro requerido pelo banco.

Os dados analisados referem-se às seguintes informações: existência de restrições em nome da empresa, restrições baixadas nos últimos cinco anos, tempo de conta no banco, setor de atividade (comércio, indústria, serviços), tempo de atividade, número de funcionários, imóvel (próprio, alugado ou cedido), bairro (centro ou outros), principais clientes (pessoa física, jurídica

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2243

Page 3: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

ou mista), faturamento anual, se possui conta em outro banco, valor de bens imóveis e móveis, possui seguro empresarial, possui aplicações financeiras na instituição, porcentagem de vendas a prazo, experiência de crédito na instituição, histórico da conta corrente, existência de restrição no nome dos sócios, restrições baixadas nos últimos cinco anos no nome dos sócios, sociedade de cônjuges, valor de bens móveis e imóveis em nome dos sócios. Juntamente com esses dados, a informação se a empresa é adimplente ou inadimplente. 3. Aprendizagem de máquina

O aprendizado de máquina é uma área da inteligência artificial que procura tirar conclusões a partir de exemplos fornecidos por um processo externo à aprendizagem. O aprendizado pode ser supervisionado ou não-supervisionado. Na aprendizagem supervisionada, o sistema precisa conhecer o ambiente. Esse conhecimento é representado por um conjunto de exemplos de pares de entrada-saída que são transmitidos em uma sequência de instruções que o computador seguirá para alcançar o efeito desejado. Na aprendizagem não-supervisionada, não há exemplos rotulados da função a ser aprendida.

Independente do tipo de aprendizagem, normalmente o conjunto de todas as regras definidas para a solução de um problema de aprendizagem é chamado algoritmo de aprendizagem. Há uma variedade de algoritmos que oferecem vantagens e desvantagens, dependendo do problema a ser aplicado.

Redes neurais artificiais (RNA’s) é uma técnica de aprendizagem que destaca-se pelas seguintes propriedades: aprendizagem de conjuntos linearmente inseparáveis, mapeamento de entrada-saída, tolerância a falhas e são baseadas na minimização do risco empírico, ou seja, minimização do erro de treinamento.

Support Vector Machine (SVM) é uma técnica de aprendizagem que tem uma forte fundamentação estatística e que tem recebido um crescente interesse nos últimos anos. O treinamento do SVM encontra uma solução global, enquanto que em RNA’s há geralmente mínimos locais. Em SVM, há a minimização do risco empírico, como em RNA’s, juntamente com a minimização do risco estrutural, equivalente a minimização do erro de generalização, que envolve a imposição de um limite para diminuir ao máximo a possibilidade de classificações erradas na etapa de teste. Essas características motivaram a escolha da técnica SVM para o desenvolvimento deste trabalho, o qual trata do estudo e da aplicação do SVM à análise de crédito bancário.

4. Support Vector Machine

Support Vector Machine (SVM) é uma técnica de aprendizagem de máquina derivada de duas fundamentações sólidas: Teoria da Aprendizagem Estatística e Otimização Matemática. SVM têm sido aplicado com sucesso em uma variedade de problemas que vão do reconhecimento de caracteres ao reconhecimento de objetos baseado na aparência.

A idéia inicial de criar algoritmos para reconhecer padrões surgiu através de Fisher em 1936. Mas tarde, em 1962, Rosemblatt sugeriu o algoritmo de aprendizagem: o Perceptron. Em 1963, Vladimir Vapnik propôs o algoritmo do hiperplano de máxima margem, uma classificação linear utilizando a metodologia de aprendizagem. Em 1992, Bernhard Boser, Isabelle Guyon e Vladimir Vapnik sugerem uma classificação não linear utilizando as funções kernel, que transformam o espaço de entrada em um espaço de dimensão maior, onde os dados são linearmente separáveis. Fundamentou-se a técnica do Support Vector Machine (SVM), cujo objetivo é encontrar um hiperplano que separe os dados com a maior margem de segurança, ou seja, a máxima distância entre os vetores suportes. Em 1995, Corina Cortes e Vladimir Vapnik propõe uma modificação no SVM introduzindo variáveis de folga, um hiperplano de separação com margens flexíveis.

A técnica SVM é uma metodologia de aprendizagem, que classifica os dados, denominados de padrões, em dois conjuntos classe +1 e classe -1, através de um hiperplano separador, que possui margens denominadas de vetores suportes.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2244

Page 4: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

O conjunto de treinamento é dado por ( ) ( ) ( ){ } ( )1 21 2, , , ,..., , ll

lS x y x y x y X Y= ⊆ × , onde

l é o número de pontos no conjunto de treinamento. Cada ponto é representado por { },iix y ,

para 1,...,i l= , onde i nx ∈ é o vetor de entrada pertencente ao espaço de entrada que quantifica as características de cada ponto e { }1, 1iy ∈ − + é a saída binária correspondente à classificação dos pontos.

Dado um ponto de entrada ix a saída do SVM é representada pelo sinal da função ( )f x . A figura 1 representa as duas classes (linearmente separáveis) sendo separadas através de um

hiperplano separador com a maior margem de separação.

Figura 1: Duas classes linearmente separáveis

Suponhamos que o hiperplano separador pode ser escrito como 0tw x b+ = , onde , w b são

variáveis, nw∈ e b∈ . A maximização da margem de separação entre as classes +1 e -1, de forma a se obter um hiperplano de separação ótimo, é obtido pelo SVM por meio da resolução de um problema de otimização restrito, onde o problema primal do SVM é definido pelo modelo (1).

1Min 2

s.a. 1

t

ti

w w

y w x b⎡ ⎤+ ≥⎢ ⎥⎣ ⎦

(1)

No qual a restrição dada por 1t

iy w x b⎡ ⎤+ ≥⎢ ⎥⎣ ⎦ procura manter os pontos em suas respectivas

classes. No entanto, os casos que os dados são linearmente separáveis são muito raros, o que mais

ocorre são dados não separáveis linearmente, como ilustra a figura 2.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2245

Page 5: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

Figura 2: Duas classes não separáveis linearmente

Acrescentando variáveis de folga, obtém-se o modelo na forma primal, dado pelo modelo

(2).

1

1Min C2

s.a. 1

0 1,...,

ltii

t ii i

i

w w

y w x b

i l

ξ

ξ

ξ

=+ ⋅

⎡ ⎤+ ≥ −⎢ ⎥⎣ ⎦≥ =

(2)

Esse modelo permite encontrar um hiperplano separador aceitando pontos classificados

incorretamente, porém com a maior margem de separação entre as classes. O primeiro termo da função tem o objetivo de maximizar a margem, enquanto que o segundo

termo, 1

C liiξ

=⋅∑ , minimiza o valor das variáveis de folga iξ , reduzindo o número de pontos

que ficam do lado incorreto. Ou seja, o parâmetro C enfatiza maior ou menor importância das variáveis de folga, possibilitando que o modelo do SVM não perca a capacidade de generalização.

Devido a natureza das restrições do problema primal, pode-se ter dificuldades na obtenção da solução do problema primal, por isso, utiliza-se a teoria do Lagrangeano para obter a forma dual do SVM. O problema dual possui a mesma solução do primal, ou seja, pode-se revolver o problema primal indiretamente através da resolução do problema dual.

O Lagrangeano é obtido por meio de Multiplicadores de Lagrange, que estão associados às restrições de desigualdade do problema primal. Esses multiplicadores de Lagrange devem ser positivos. As restrições do problema dual ficam mais simples do que as do problema primal, sendo dado pelo modelo (3).

( ) ( )( )1 1 1

1

1Max L , , ,2

s.a. 0

0

l l l i ji i j i ji i j

li ii

i

w b y y x x

y

C

ξ α α αα

α

α

= = =

=

= −

=

≤ ≤

∑ ∑ ∑∑

(3)

Na formulação do problema dual existe um produto interno ( )( )i jx x que pode ser

substituído por uma função ( ),i jK x x , denominada função kernel, obedecendo o Teorema de

Mercer (CRISTIANINI e SHAWE-TAYLOR, 2000). Essas funções kernel mapeiam os dados de

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2246

Page 6: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

entrada em um espaço de dimensão maior, no qual os dados podem ser separados através de um hiperplano, ou seja, os dados tornam-se linearmente separáveis, como pode ser observado na figura 3.

Figura 3: Representação da função kernel

As funções kernel realizam um mapeamento implícito, portanto nas formulações do SVM os

exemplos de treinamento nunca aparecem isolados, mas em forma de produto interno, que pode ser substituído por uma função kernel.

As funções Kernel mais utilizadas são dadas na tabela 1.

Tabela 1: Exemplos de funções kernel Kernel Expressão Parâmetros Polinomial ( )( ) pti jx x k+

p e k

Gaussiano 2

22

i jx x

e σ

−−

σ

Sigmoidal ( )( )tanhti jm x x k+ m e k

Os vetores suportes são os dados ix cujos multiplicadores de Lagrange iα possuem valores

não nulos. Estes são os valores que contribuem para a construção do hiperplano ótimo. Uma característica das soluções do SVM é a esparsidade dos Multiplicadores de Lagrange,

ou seja, apenas uma fração dos pontos será vetor suporte. Para classificar os padrões do conjunto de treinamento como vetores suporte verificam-se os

valores dos respectivos Multiplicadores de Lagrange conforme as condições de Karush-Kuhn-Tucker (KKT), ou seja:

Se ( )0, 1ii iy f xα = ⋅ > então ix é considerado um vetor comum, que se situa do lado

correto, na região da sua classe. Se ( )0 , 1i

i iC y f xα< < ⋅ = então ix é um vetor suporte, situa-se sobre a margem da

região da sua classe. É conhecido como vetor suporte não-bound (VS-NB).

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2247

Page 7: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

Enfim, se ( ), 1ii iC y f xα = ⋅ < então ix é um vetor suporte bound (VS-bound). Ele pode

se localizar entre a margem e o hiperplano separador, caso 0 1iξ< < . Ele pode estar na própria superfície de separação, caso 1iξ = , ou pode estar na região de classe oposta a sua, do outro lado da superfície de separação, caso 1iξ > (CRISTIANINI e SHAWE-TAYLOR, 2000).

Com isso o SVM é considerado uma ferramenta que detecta automaticamente os vetores mais relevantes para a construção de um hiperplano ótimo, que possa fazer o reconhecimento de novos dados.

Os principais motivos desse sucesso do SVM estão relacionados ao fato dessa técnica exibir bom desempenho de generalização em base de dados reais, sua boa fundamentação teórica, a eliminação da possibilidade de mínimos locais pelo processo de treinamento, a existência de poucos parâmetros livres para ajustar e a arquitetura não precisa ser encontrada por experimentação.

5. Resolução do problema do SVM

A modelagem do SVM envolve um problema quadrático, e para resolvê-lo existem alguns métodos clássicos como o Método do Gradiente, Método de Newton, Método Quase-Newton, Métodos de Filtro, entre outros (FRIEDLANDER, 1994 e RIBEIRO, 2005). Esses métodos obtém as soluções ótimas após um determinado número de iterações, mas existem alguns pacotes computacionais que agilizam a resolução do problema do SVM, como o MINOS, do Stanford Optimization Laboratory, o LOQO, o MATLAB Optimization Toolbox, o SVMlight de Joachims e o LIBSVM, de Chih-Chung Chang e Chih-Jen Lin. Neste trabalho, optou-se em utilizar o algortimo Sequential Minimal Optimisation (SMO) proposto por John Platt (PLATT, 1998), em virtude de contemplar o modelo original do SVM.

O Sequential Minimal Optimisation (SMO) é um algoritmo que utiliza apenas duas variáveis a cada iteração, ou seja, apresenta uma solução analítica, além de evitar a resolução do problema quadrático do SVM. Essa solução é encontrada trabalhando apenas com dois Multiplicadores de Lagrange de cada vez e mantendo os demais fixos. Considerando os dois multiplicadores a serem atualizados como 1α e 2α e suas respectivas classes 1y e 2y , uma condição inicial para esse

algoritmo é que 1

0li iiyα

==∑ , ou seja, quando um multiplicador for atualizado, essa condição

obriga a ajustar o outro, para que a condição continue verdadeira. Em virtude disso, os multiplicadores de Lagrange além de possuírem os valores limitados entre 0 e C, restrição do problema do SVM, estão limitados por duas constantes L e H, para manterem a condição inicial verdadeira.

Esses limitantes dependem das classes a que os pontos pertencem, ou seja, se 1 2y y≠ , então

{ }2 1max 0, old oldL α α= − e { }1 2min , old oldH C C α α= − + . Se 1 2y y= , então

{ }1 1max 0, old oldL Cα α= + − e { }1 2min , old oldH C α α= + .

Onde newiα é o novo valor do Multiplicador de Lagrange do ponto ix e old

iα é o valor

anterior. O valor da função em ix que denota a função atual determinada pelos valores dos Multiplicadores de Lagrange e por b no estágio atual da aprendizagem é dado pela equação (4).

( ) ( )1

,l

i j ij j

j

f x y K x x bα=

= +∑

(4)

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2248

Page 8: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

O valor iE determina a diferença de ( )if x e o padrão iy a que pertence o ponto ix , ou

seja, é a distancia do ponto ao hiperplano atual dado pela atualização dos Multiplicadores de Lagrange, é dado pela equação (5).

( ) ( )1

,l

i j ii i j j i

j

E f x y y K x x b yα=

⎡ ⎤⎢ ⎥= − = + −⎢ ⎥⎢ ⎥⎣ ⎦∑

(5)

A quantidade adicional exigida é a segunda derivada da função objetivo ao longo da linha

diagonal, que pode ser expressa por κ , definido pela equação (6).

( ) ( ) ( ) ( ) ( ) 21 1 2 2 1 2 1 2, , 2 ,K x x K x x K x x x xκ φ φ= + − = −

(6)

Onde 1x e 2x são os pontos associados a 1α e 2α , respectivamente. O máximo valor da função objetivo será obtido com o valor pela equação (7).

2

2 2 2

2

, se , se , se

aux

new aux aux

aux

H HL H

L L

αα α α

α

⎧⎪ >⎪⎪⎪= ≤ ≤⎨⎪⎪ <⎪⎪⎩

(7)

Sendo 2

auxα um valor truncado, ou seja, limitado por 2auxL Hα≤ ≤ , dado pela equação (8).

( )2 1 2

2 2aux old y E E

α ακ−

= +

(8)

Através do valor de

2

newα , encontra-se 1newα dado pela equação (9).

( )1 1 1 2 2 2

new old old newy yα α α α= + − (9)

O SMO usa dois critérios para selecionar dois pontos ativos, ou seja, 0 Cα< < , para

garantir que a função objetivo aproveite um grande acréscimo, na atualização dos valores. Têm-se duas heurísticas, uma para a escolha de 1α e outra para escolha de 2α . Na primeira

heurística, o ponto 2x é escolhido entre os pontos que violam as condições de KKT. O algoritmo atravessa por todo o conjunto de dados de treinamento que violam as condições de KKT e seleciona um para atualizar. Isso é feito através de um dos testes 2 2E y tol⋅ < − (tol= tolerância escolhida) e 2 Cα < ou 2 2E y tol⋅ > e 2 0α > . Quando tal ponto é encontrado, utiliza-se a

segunda heurística para selecionar o ponto 1x , que deve ser escolhido de tal maneira que seja atualizado com 2x , causando um grande acréscimo na função objetivo dual.

Para encontrar um bom ponto a heurística escolhe 1x , maximizando o valor dado por

1 2E E− , se 2E é positivo, o SMO escolhe o 1x com o menor 1E , e se 2E é negativo, então o

SMO escolhe 1x com o maior 1E . Se esta escolha falhar em obter um acréscimo significante na função objetivo dual, o SMO

experimenta cada ponto 1x que tenha valores de α diferente dos limites, ou seja, 0 Cα< < ,

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2249

Page 9: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

começando aleatoriamente. Se ainda não houver progresso significativo, o SMO procura por todo o conjunto de dados de treinamento para encontrar um ponto 1x adequado.

Se ocorrer alteração de valores, a heurística retorna para escolher outros pontos 2x e 1x , até que todos os pontos estejam obedecendo as condições de KKT, então termina o processo.

A solução satisfaz as condições de complementaridade de Karush-Kuhn-Tucker que para

classificar com a máxima margem entre os conjuntos deve obedecer ( ) 1 0ii iy w x bα ⎡ ⎤⋅ + − =⎢ ⎥⎣ ⎦

para 1, 2,...,i l= , ou seja, ( ) 1 0ii iy f xα ⎡ ⎤− =⎢ ⎥⎣ ⎦ .

Cristianini e Shawe-Taylor (2000) descrevem três critérios de parada, que são detalhados a seguir: Monitoramento do valor da função, especificamente o valor do crescimento a cada passo, ou seja, o treinamento para quando a taxa de crescimento da função objetivo for menor que certa tolerância, por exemplo, 910− . Monitoramento das condições de KKT para o problema primal. Outra maneira para caracterizar a solução é por meio do gap entre as funções objetivas: dual e primal, porém, esse critério de parada é válido apenas quando se tem um hiperplano linear.

Resolvendo o SMO, o valor de b , do vetor w e dos erros iE são calculados separadamente.

Após cada iteração, em que as condições de KKT são satisfeitas para ambos os pontos 1x e 2x , os valores podem ser atualizados analisando sempre o valor atual com o anterior da função (4).

O valor de b para o ponto 1x é definido por 1b , o qual deve forçar a saída do SVM para 1y

quando a entrada for o ponto 1x , dado pela equação (10).

( ) ( ) ( ) ( )1 1 1 21 1 1 1 1 2 2 2, ,new old new old oldb E y K x x y K x x bα α α α⎡ ⎤= − + − + − +⎣ ⎦

(10)

O valor de b para o ponto 2x é definido por 2b , o qual deve forçar a saída do SVM para 2y

quando a entrada for o ponto 2x , dado pela equação (11).

( ) ( ) ( ) ( )1 2 2 22 2 1 1 1 2 2 2, ,new old new old oldb E y K x x y K x x bα α α α⎡ ⎤= − + − + − +⎣ ⎦

(11)

O SMO escolhe o threshold que está no meio do intervalo, ou seja, a equação (12).

1 2

2new b bb +

=

(12)

Quando os dados são separados linearmente, pode-se atualizar o valor do vetor w pela

equação (13).

( ) ( )1 21 1 1 2 2 2

new old new old new oldw w y x y xα α α α= + − + − (13)

Os erros iE são atualizados a cada iteração pela equação (14).

( ) ( ) ( ) ( )1 21 1 1 2 2 2, ,new old new old i new old i new old

i iE E y K x x y K x x b bα α α α= + − + − + − (14)

O objetivo da heurística SMO é obter os valores dos Multiplicadores de Lagrange para que

estes tenham os erros tendendo a zero. A atualização da função objetivo pode ser feita pelo gap, que é a diferença entre a função objetivo atual e a anterior dado pela equação (15).

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2250

Page 10: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )( )

21 1 2 2 11 1

2

2 1 1 2 2 21 1 1 2 2 2

1 21 2 1 2 1 2

,

1 1 , ,2 2

,

α α α α α α

α α α α

α α α α

≠= =≠

⎡ ⎤= − + − − − +⎣ ⎦

− − − − +

⎡ ⎤− −⎣ ⎦

∑ ∑ lnew old new old new old j ij i j j ij i

i

new old new old

new new old old

gap y y K x x

y K x x y K x x

y y K x x

(15)

O SMO possui uma rotina de laços (loops), forçando a heurística a procurar por todos os

pontos de treinamento os quais estão infringindo as condições de KKT. Para melhorar o processo, o algoritmo SMO foi implementado em linguagem Microsoft

Visual Basic.

6. Implementação computacional e obtenção de resultados O algoritmo SMO foi implementado em linguagem Microsoft Visual Basic para agilizar o

processo de resolução. Cabe salientar que os dados a serem apresentados foram transformados em valores

numéricos e para não ocorrer problemas com as grandezas, os mesmos foram normalizados. No primeiro teste foi utilizada a base de dados que contemplou a informação das 199

empresas, das quais 135 adimplentes e 64 inadimplentes, para encontrar os melhores parâmetros do SVM (que apresentam menores erros) e a função kernel mais adequada. Os resultados obtidos são expressos na tabela 2, onde VS representa o número de vetores suportes não bounds, VS-BOUND representa o número de vetores suportes bounds, e ERROS representa o número de erros que o treinamento apresentou.

Tabela 2: Treinamento dos dados

KERNEL PARÂMETROS C Nº VS

Nº VS

BOUNDS TOTAL VS Nº ERROS

ERRO

(%)

Polinomial P=2 0,1 12 12 24 1 0,50

Polinomial P=1 1 14 16 30 3 1,51

Polinomial P=2 1 23 2 25 1 0,50

Polinomial P=3 1 21 0 21 0 0,00

Polinomial P=4 1 19 0 19 1 0,50

Sigmoidal Kapa=0,1 1 4 120 124 4 2,01

Gaussiano Sigma=1 1 21 19 40 3 1,51

O número total de vetores suportes é importante, pois quanto menos vetores suportes, melhor

é a generalização da separação de dados. No segundo teste, para verificar se os parâmetros são adequados para o reconhecimento de

padrões de todos os dados, realizou-se a validação cruzada 5-fold, ou seja, 20 % dos dados são denominados conjunto de teste e os demais, conjunto de treinamento. Sendo assim, 154 empresas formam o conjunto de treinamento e 42 empresas formam o conjunto de teste.

Os resultados desse treinamento estão na tabela 3 onde VS representa o número de vetores suportes não bounds, VS-BOUND representa o número de vetores suportes bounds, e ERRO TREIN representa a porcentagem de erros durante o treinamento dos 154 dados e ERRO TESTE representa a porcentagem de erros durante o teste com os 42 dados.

Analisando a tabela, verifica-se que a função kernel polinomial está mais adequada a essa aplicação, em especial o polinômio de grau 2, com C=0,1 e C=1, em virtude de ter erros de treinamento e de teste inferior a 1%, tendo apenas 21 vetores suportes, ou seja, 13% dos dados de

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2251

Page 11: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

treinamento. Com esses parâmetros a função reconhece novos parâmetros, com a menor porcentagem de erros.

Tabela 2: Treinamento dos dados

KERNEL PARÂMETROS C

ERRO

TREIN.(*)

ERRO

TESTES (*)

Nº VS (*) Nº VS

BOUND

TOTAL

VS

Polinomial P=2 0,1 0,53% 0,40% 19 2 21

Polinomial P=1 1 1,48% 2,38% 15 14 29

Polinomial P=2 1 0,50% 0,55% 20 1 21

Polinomial P=3 1 0,10% 1,07% 18 0 18

Polinomial P=4 1 0,33% 0,88% 7 0 7

Sigmoidal Kapa=0,1 1 5,06% 1,43% 4 97 103

Gaussiano Sigma=1 1 0,79% 1,79% 19 9 38

7. Conclusão

Os problemas de aprendizagem de máquina estão relativamente ainda em uma fase inicial de desenvolvimento. As SVM’s são muito promissoras, baseadas em fortes e não-triviais teorias matemática e estatística.

A técnica SVM mostrou ser uma ferramenta de grande utilidade para auxiliar os analistas de crédito a decidir sobre a concessão do crédito, pois classificou as empresas em solventes e insolventes com baixa taxa de erro.

Esses testes contribuíram para uma compreensão mais prática da técnica, reforçando o conhecimento teórico e confirmando a aplicabilidade do SVM à análise de crédito bancário.

Os bancos e instituições de concessão de crédito, utilizando suas informações cadastrais, têm condições de avaliar novas empresas que estão em busca de crédito.

Não se pode afirmar que a empresa que obteve um sinal favorável ao crédito vai ser adimplente, pois fatores externos como a economia do país, ou problemas inesperados como enchente, incêndio, roubo, podem alterar o comportamento da empresa em razão dos compromissos adquiridos.

A experiência profissional do analista aliada à técnica SVM são instrumentos que podem ajudar na tarefa de tomada de decisão.

8. Referências Cristianini, N.; Shawe-Taylor, J, An Introduction to Support Vector Machine and Other Kernel-Based Learning Methods, United Kingdom, Cambridge, 2000. Friedlander, A, Elementos de Programação Não-Linear. São Paulo: Editora Unicamp, Série Manuais, 1994. Haykin, Simon, Redes Neurais – Princípios e Práticas, 2.ed, Bookman, Porto Alegre, 2001. Lemos, Eliane Prezepiorski; Steiner, Maria Terezinha Arns; Nievola, Júlio César, Análise de crédito bancário por meio de redes neurais e árvores de decisão: uma aplicação simples de data mining, Revista de Administração da Universidade de São Paulo (RAUSP), São Paulo, v.40, n.3, 225-234, 2005. Lemos, Eliane Prezepiorski, Análise de crédito bancário com o uso de data mining: redes neurais e árvores de decisão, Dissertação de Mestrado, Universidade Federal do Paraná, 2003. Platt, J. C. Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines. Microsoft Research. Technical Report MSR-TR-98-14. April 21,1998.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2252

Page 12: ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO ... · ANÁLISE DE CRÉDITO BANCÁRIO UTILIZANDO O ALGORITMO SEQUENTIAL MINIMAL OPTIMISATION. Vanessa Terezinha Ales Universidade

Santos, José Odalio dos, Análise de crédito: empresas e pessoas físicas, Atlas, São Paulo, 2000. Schrickel, Wolfgang Kurt, Análise de crédito: concessão e gerência de empréstimos, 4.ed, Atlas, São Paulo, 1998. SILVA, José Pereira da, Análise e decisão de crédito,Atlas, São Paulo, 1993. SILVA, José Pereira da, Gestão e análise de risco de crédito, Atlas, São Paulo, Atlas, 1998. Ribeiro, A. A, Convergência Global dos Métodos de Filtro para Programação não Linear, Tese (Doutorado em Métodos Numéricos), Universidade Federal do Paraná, PR, 2005.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2253