O uso da Programação Linear na separação de dois conjuntos de … · 2013-03-12 · O uso da...

4
O uso da Programação Linear na separação de dois conjuntos de pontos (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, Conjuntos Linearmente Inseparáveis Resumo: Procuramos nesse trabalho, mostrar como a Programação Linear pode ser utilizada na separação de dois conjuntos de pontos (padrões), através de um modelo linear cuja solução fornece dados para a obtenção de um hiperplano separador, procuramos dar enfoque na utilização recursiva desse modelo na busca da melhor separação de conjuntos linearmente inseparáveis, onde acreditamos que 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 de dois conjuntos de padrões. Usualmente, considerando uma separação matemática, os padrões são representados por pontos no espaço Euclidiano R n . Dessa forma, uma maneira matemática de se obter uma separação é construir um hiperplano ou uma superfície não linear de R n de modo que cada 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 representadas por n escalares reais. Separar esses conjuntos por um hiperplano de R n é encontrar tal superfície de forma que os m pontos que representam os padrões do conjunto ¯ E estejam de um lado desse hiperplano, enquanto os k pontos que representam os padrões do conjunto ¯ F estejam do outro lado desse hiperplano. Naturalmente, nem todos os conjuntos de pontos são linearmente separáveis, como pode ser visto na Figura 1. 31 ISSN 2317-3300

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 : *

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ª

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