O uso da Programação Linear na separação de dois conjuntos de … · 2013-03-12 · O uso da...
Transcript of O uso da Programação Linear na separação de dois conjuntos de … · 2013-03-12 · O uso da...
O uso da Programação Linear na separação de dois conjuntos depontos (Padrões) por hiperplanos
Eberson Paulo Trevisan
Instituto de Ciências Naturais, Humanas e Sociais - UFMT Campus de Sinop
78550-000, Sinop, MT
E-mail: [email protected]
Valéria Abrão de Podestá
Instituto de Matemática Estátistica e Computação Científica - UNICAMP
13083-970, Campinas, SP
E-mail: [email protected]
Palavras-chave: Otimização, Programação Linear, Conjuntos Linearmente Separáveis, ConjuntosLinearmente Inseparáveis
Resumo: Procuramos nesse trabalho, mostrar como a Programação Linear pode ser utilizada naseparação de dois conjuntos de pontos (padrões), através de um modelo linear cuja solução fornecedados para a obtenção de um hiperplano separador, procuramos dar enfoque na utilização recursivadesse modelo na busca da melhor separação de conjuntos linearmente inseparáveis, onde acreditamosque a separação possa ser usada na classificação de padrões por meio de comparação de dados.
1 Introdução e definições preliminares
Vamos definir padrões como sendo uma amostra confiável de traços, atos, tendências, ou quais-quer outros tipos de características observáveis de um determinado objeto ou ser vivo. Uma sepa-ração de padrões nada mais é que a obtenção de um critério para a distinção entre os elementos dedois conjuntos de padrões. Usualmente, considerando uma separação matemática, os padrões sãorepresentados por pontos no espaço Euclidiano R
n. Dessa forma, uma maneira matemática de seobter uma separação é construir um hiperplano ou uma superfície não linear de R
n de modo quecada conjunto de padrões esteja localizado de um lado do hiperplano ou da superfície.
Assim, vamos supor que são dados dois conjuntos de padrões E e F , onde o conjunto E éformado por m padrões e o conjunto F é formado por k padrões. Cada padrão é constituído de n
observações (traços, atos, tendências, etc, citados na definição de padrões) que são representadaspor n escalares reais. Separar esses conjuntos por um hiperplano de R
n é encontrar tal superfíciede forma que os m pontos que representam os padrões do conjunto E estejam de um lado dessehiperplano, enquanto os k pontos que representam os padrões do conjunto F estejam do outro ladodesse hiperplano. Naturalmente, nem todos os conjuntos de pontos são linearmente separáveis,como pode ser visto na Figura 1.
31
ISSN 2317-3300
0 1 2 3 4 5 6 7 8 90
1
2
3
4
5
6
x1
x 20 1 2 3 4 5 6 7 8 9
0
1
2
3
4
5
6
x1
x 2
Figura 1: Representação em R2 de dois conjuntos de padrões linearmente separáveis e linearmente
inseparáveis, respectivamente.
2 Critérios de separabilidade linear
O problema de separação de dois conjuntos de padrões consiste em determinar um único hiper-plano
x′w − γ = 0 (1)
onde w é um vetor de Rn normal ao hiperplano e γ é um escalar real, tal que:
Ew − eγ > 0 (2)
eFw − eγ < 0 (3)
onde e é um vetor de uns de dimensão apropriada, ou seja, dimensão m em (2) e dimensão k em(3), E é a matriz formada pelos elementos de E e F é a matriz formadas pelos elementos de F .
Na prática, os conjuntos de padrões geralmente tem dimensões maiores do que 3, o que excluia possibilidade de verificação gráfica quanto à separabilidade ou não. Por isso é interessante deter-minar um método para avaliar se dois conjuntos de padrões são ou não linearmente separáveis.
3 Formulação de um Programa Linear para separação de padrões
Para resolver problemas de separação de padrões, Bennett e Mangasarian [1] propõem a soluçãode um único problema de Programação Linear1, cuja formulação é superior às formulações anterioresapresentadas em [4], [7], e com as seguintes propriedades:
1. Se os conjuntos de pontos E e F forem disjuntos, a partir da solução do problema de Progra-mação Linear é gerado um hiperplano que separa estritamente esses conjuntos.
2. Se os conjuntos de pontos E e F não forem disjuntos, a partir da solução do problema deProgramação Linear é gerado um hiperplano que minimiza a média dos erros de classificaçãodos pontos.
3. Não há necessidade de impor restrições ao problema para incluir qualquer caso particular aser considerado.
Novamente, se os pontos dos conjuntos E e F de padrões forem representados pelas matrizes E ∈Rm×n e F ∈ R
k×n respectivamente, o problema de Programação Linear proposto por Mangasariane outros em [1] e [5] é dado por:
1Para melhor compreensão do que vem a ser os problemas de Programação Linear ver referências [3], [6].
32
ISSN 2317-3300
minw,γ,y,z1
me′y + 1
ke′z
s.a.
Ew + y − eγ ≥ e
−Fw + z + eγ ≥ e
y ≥ 0, z ≥ 0
(4)
onde w ∈ Rn, y ∈ R
m, z ∈ Rk e γ ∈ R e o vetor e é o vetor de uns com dimensão apropriada.
Nesse caso w′x = γ é o hiperplano separador citado nas propriedades anteriores, onde w é o ve-tor normal ao hiperplano de separação e o número real γ é responsável pela localização do hiperplano.
É importante ressaltar que os conjuntos E e F representados pelas matrizes E ∈ Rm×n e
F ∈ Rk×n respectivamente, são linearmente separáveis se, e somente se, a solução do problema de
Programação Linear (4) é zero. Outra propriedade importante de se mencionar diz respeito a nãounicidade da solução (w = 0, γ, y, z) para o PPL (4).
4 Separação por mais de um hiperplano
Outro ponto que merece ser ressaltado quando trabalhamos com conjuntos linearmente insep-aráveis é que, a partir do hiperplano w′x = γ, gerado pela solução do PPL (4), novos hiperplanospodem ser gerados na tentativa de separar os conjuntos com um número finito de hiperplanos. Emoutras palavras, podemos utilizar recursivamente o mesmo procedimento — resolução de um PPL— para um ou mais semiespaços do tipo w′x > γ ou w′x < γ, quando ocorre a mistura de pontosde E e F no mesmo semiespaço. Para isso, podemos construir novos hiperplanos levando em contaas regiões já determinadas pelos hiperplanos anteriores. Assim, obtida a solução do PPL (4), de-pendendo se y > 0 ou z > 0, escolhemos o semiespaço w′x < γ ou w′x > γ e descartamos ospontos que ficaram no outro semiespaço. Tal procedimento pode ser realizado a partir do que segue:
Sabemos que cada valor das componentes do vetor y está associado a um único ponto represen-tado na matriz E (linhas de E), e cada componente do vetor z está associada a um único ponto deF (linha de F ). Ou seja, se y > 0 ou z > 0, os pontos não são linearmente separáveis. Assim temos:
• se existe zi > 1, i ∈ {1, 2, . . . , k}, então os pontos de F não estão todos no mesmo semiespaçow′x < γ, logo o semiespaço w′x > γ contém pontos dos dois conjuntos.
• se existe yj > 1, j ∈ {1, 2, . . . , m}, então os pontos de E não estão todos no semiespaçow′x > γ, ou seja, o semiespaço w′x < γ contém pontos dos dois conjuntos.
Assim, se queremos aplicar novamente o procedimento para separação de pontos, nos semiespaçosestabelecidos pelo primeiro hiperplano separador podemos proceder como segue:
• se existe zi > 1, i ∈ {1, 2, . . . , k}, tomar os pontos que estão no semiespaço w′x > γ e ignoraros pontos que estão no outro semiespaço. Construir uma nova matriz F 1 onde as linhas serãocompostas pelos pontos de F tais que Fix > γ, i ∈ {1, 2, . . . , k} (lembrando que Fi nadamais é que uma linha de F , a qual representa um ponto desse conjunto). Construir também,uma nova matriz E1 onde as linhas serão compostas pelos pontos de E tais que Ejx > γ,j ∈ {1, 2, . . . , m}. Aplicar novamente o PPL (4) a essas duas novas matrizes, obtendo assimum novo hiperplano.
• se existe yj > 1, j ∈ {1, 2, . . . , m}, tomar os pontos que estão no semiespaço w′x < γ eignorar os pontos que estão no outro semiespaço. Construir uma nova matriz E2 com ospontos de E tais que Ejx < γ, j ∈ {1, 2, . . . , m}. Construir uma nova matriz F 2 com ospontos de F tais que Fix < γ, i ∈ {1, 2, . . . , k}. Aplicar novamente o PPL (4) a essas duasnovas matrizes, obtendo assim um novo hiperplano.
33
ISSN 2317-3300
A idéia geral que defendemos é que após algumas aplicações recursivas do PPL (4) mapeamosregiões do espaço R
n em que só temos pontos de um determinado padrão. Foram realizados testescom conjuntos aleatórios de pontos linearmente inseparáveis onde mostrou-se possível identificar taisregiões, como pode ser visto na figura 2 abaixo que representa uma separação por 3 retas obtidasa partir do PPL (4) a dois conjuntos de pontos em R
2. Como vemos, após a determinação dessastrês retas, temos duas regiões de R
2 que só contém pontos de um mesmo conjunto.
0 1 2 3 4 5 6 7 8 90
1
2
3
4
5
6
7
8
9
x1
x 2
E : o
F : *
1ª
0 1 2 3 4 5 6 7 8 90
1
2
3
4
5
6
7
8
9
x1
x 2
E : o
F : *2ª
3ª
1ª
Figura 2: Representação dos conjuntos linearmente inseparáveis com 1a, 2a e 3a reta “separadora”.
Com isso, uma aplicação geral sugerida para a separação de pontos via Programação Linear seriaa classificação entre dois conjuntos de padrões obtida a partir da comparação de dados. Imaginemosque dispomos de n dados sobre um determinado produto (ou evento) onde temos k itens do produtode boa qualidade e m itens do produto de baixa qualidade, após aplicações recursivas do PPL (4)seríamos capaz de dizer com mais precisão se um novo item do produto em questão é de boa quali-dade ou de baixa qualidade, comparando esse novo item com as regiões mapeadas pelos hiperplanos.
Aplicamos a separação recursiva via programação linear apenas em conjuntos de pontos genéri-cos (desprovidos de relação com problemas reais) onde foi obtido êxito na separação e na obtençãode regiões com apenas pontos de um conjunto. Estamos atualmente aplicando a metodologia aquiapresentada na separação de padrão para a investigação da Síndrome de Down com os dados dis-postos em [2], onde os primeiros testes apresentaram desempenho satisfatório, contudo pretendemosem trabalhos futuros apresentar com mais detalhes os resultados obtidos.
Referências
[1] Bennett, K. P. and Mangasarian, O. L., Robust Linear Programming Discrimination of TwoLinear inseparable sets, Optimization Methods and Software, 23-34, 1992.
[2] Bettiollo, L. J., Aplicação de Técnicas de Reconhecimentos de Padrão para Investigação daSíndrome de Down no Primeiro Trimestre de Gravidez , Dissertação de mestrado programa depós-graduação em métodos numéricos para engenharia, UFPR, 2009.
[3] Lins, M. P. E. and Calôba, G. M., Programação Linear: com aplicações em teoria dos jogos eavaliação de desempenho (Data Envelopment Analysis), Editora Interciência, 2006.
[4] Mangasarian, O. L. Linear and Nonlinear Separation of Patterns by Linear Programming,Operations Research, 13, 444-452, 1965.
[5] Mangasarian, O. L., Street, W. N. and Wolberg, W. H., Breast Cancer Diagnosis and Prognosisvia Linear Programming, Mathematical Programming Technical Report, 94-10, 1994.
[6] Passos, E. J. P. F., Programação Linear Como Instrumento da Pesquisa Operacional, EditoraAtlas, 2008.
[7] Smith, F. W., Pattern Classifier Design by Linear Programming, IEEE Transaction on Com-puters C-17, 4, 367-372, 1968.
34
ISSN 2317-3300