Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser...
Transcript of Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser...
![Page 1: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/1.jpg)
Máquinas de Vetores SuporteVisão Computacional
![Page 2: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/2.jpg)
Introdução• Máquinas de Vetores de Suporte (MVS)
• Criada por (VAPNIK, 1998) é um método de aprendizagem supervisionado usado para estimar uma função que classifique dados de entrada em duas classes (normalmente, mas é multiclasses)
• O objetivo do treinamento através de MVS é a obtenção de hiperplanos que dividam as amostras de tal maneira que sejam otimizados os limites de generalização.
2
![Page 3: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/3.jpg)
Introdução• Os algoritmos de treinamento das MVS possuem forte
influência da teoria de otimização e de aprendizagem estatística
• Resultados normalmente melhores comparado a redes neurais• Bons exemplos de aplicações em processamento de
imagens, bioinformática, categorização de textos, análise se solo .....
3
![Page 4: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/4.jpg)
Representação AM
4
![Page 5: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/5.jpg)
Teoria de Aprendizado Estatístico• Seja f um classificador e F o conjunto de todos os
classificadores que um determinado algoritmo de AMpode gerar.
• Esse algoritmo, durante o processo de aprendizado, utiliza um conjunto de treinamento T, composto de n pares (xi, yi), para gerar um classificador particular f’ϵ F.
5
![Page 6: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/6.jpg)
Teoria de Aprendizado Estatístico
6Funções representadas pelas curvas de decisãoConjunto de treinamento binário
![Page 7: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/7.jpg)
Qual classificador f’ escolher?• Sendo todos dados do domínio gerados de forma
independente e identicamente distribuídos (i.i.d)• O risco empírico de um classificador f pode ser
calculado como:
• Principio de Minimização de Risco Empírico• Nem sempre leva a um bom classificador 7
![Page 8: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/8.jpg)
Limite do Risco Esperado• Relaciona o Risco Empírico com o Risco Esperado
• Garantido com probabilidade 1 – teta onde teta ϵ[0,1]
• h denota a dimensão Vapnik-Chervonenkis (VC)• n qtd exemplos no treinamento
8
![Page 9: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/9.jpg)
Dimensão VC Vapnik-Chervonenkis
• A dimensão VC h mede a capacidade do conjunto de funções F.
• Quanto maior o seu valor, mais complexas são as funções de classificação que podem ser induzidas a partir de F.
• Dado um problema de classificação binário, essa dimensão é definida como o número máximo de exemplos que podem ser particionados em duas classes pelas funções contidas em F, para todas as possíveis combinações binárias desses dados. 9
![Page 10: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/10.jpg)
Contribuição Risco Esperado• Importância de se controlar a capacidade do conjunto
de funções F do qual o classificador é extraído• Bom classificador minimiza o Risco Empírico e que
possua a uma classe de funções F com baixa dimensão VC h
• Minimização de Risco Estrutural
10
![Page 11: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/11.jpg)
Como escolher• Divide-se inicialmente F em subconjuntos de funções com
dimensão VC crescente
Principio da Minimização do Risco Estrutural
• Introduzir uma estrutura (função de classificação) em F• Minimiza-se então o limite sobre as estruturas introduzidas.• Quanto maior a capacidade menor o risco empírico
pela complexidade das funções
11
![Page 12: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/12.jpg)
Principio de Minimização de Risco Estrutural
12
![Page 13: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/13.jpg)
Na prática• Útil na definição do procedimento de minimização de
risco estrutural• Mas ...
• Computar a dimensão VC de uma classe de funções geralmente não é uma tarefa trivial.
• Soma-se a isso o fato de que o valor de h poder ser desconhecido ou infinito
13
![Page 14: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/14.jpg)
Para funções Lineares• Relacionamento do risco esperado com a margem
(distância da fronteira de decisão induzida)
14
![Page 15: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/15.jpg)
Erro Marginal• Assim o erro marginal pode ser calculador por:
• Onde I(q) = 1 se q é verdadeiro e I(q) = 0 se q é falso.• Um p elevado implica uma menor termo de capacidade
15
![Page 16: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/16.jpg)
Hiperplano Ótimo• Como conclusão tem-se que:
• deve-se buscar um hiperplano que tenha margem elevada
• e cometa poucos erros marginais, minimizando assim o erro sobre os dados de teste e de treinamento, respectivamente.
• Esse hiperplano é denominado ótimo
16
![Page 17: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/17.jpg)
MVS Lineares (Rígidas)• Definem fronteiras lineares a partir de dados
linearmente separáveis• Hiperplano linear é definido por
• Onde em que w. x é o produto escalar entre os vetores w e x
• w ϵ X é o vetor normal ao hiperplano descrito • b/ ||w|| corresponde à distância do hiperplano em
relação à origem 17
![Page 18: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/18.jpg)
MVS Lineares (Rígidas)• Função g(x) divide o espaço X em duas regiões
18
![Page 19: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/19.jpg)
Função Objetivo• Logo para se obter maximização da margem, deve-se
minimizar a norma de w através de:
19
![Page 20: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/20.jpg)
MVS com Margem Suave• Presença de ruídos e outliers
• Sujeito a restrição:
• Nova função objetivo:
20
![Page 21: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/21.jpg)
MVS não Linear
21
![Page 22: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/22.jpg)
MVS não Linear• Lidam com este problema mapeando o espaço de
treinamento para um novo espaço de maior dimensão demonado feature space
• Através de uma função Ф• Mapeamento da figura anterior realizado por:
22
![Page 23: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/23.jpg)
Função Ф
23
Φ: x→ φ(x)
![Page 24: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/24.jpg)
Funções Kernel Comum
24
![Page 25: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/25.jpg)
Usando SVMnoopencv
![Page 26: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/26.jpg)
Pacote SVMemML• Funções básicas
• train:treina SVMcomparâmetros informados
• trainAuto:descobre parâmetros para SVMetreina
• predict:realiza oteste
![Page 27: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/27.jpg)
Videexemplos
![Page 28: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/28.jpg)
Usando SVMcomlibsvm
![Page 29: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/29.jpg)
LIBSVM• Biblioteca básica comimplementação doSVM(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)• Java• C/C++• Depende depythonpara rodar alguns scripts
• Implementações• Classificação (C-SVC,nu-SVC)• Regressão (episolon-SVR,nu-SVR)• Estimação dedistribuição (one-classSVM)• Utilitários para facilitar oprocesso declassificação
29
![Page 30: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/30.jpg)
Comousar?Classificação• Paraestratégia dividindo treinamento eteste (ou validação)• Colocar abasenoformato .libsvm
• Utilitários básicos (são aplicados na ordem abaixo)1. svm-scale2. subset.py3. grid.py4. svm-train5. svm-predict 30
11:0.12:2.33:1.0-11:0.22:1.33:0.511:0.32:3.33:1.2…
![Page 31: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/31.jpg)
1)svm-scale• Servepara normalizar asvariáveis.Melhora aconvergência dométodo
• Faixas definidas pelos parâmetros –l(lower)e–u(upper)• videoutras opções desalvar…
USO:svm-scale heart_scale >heart_scale.scale
Normaliza entreafaixa -1a1,por padrão.
*https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary/heart
31
![Page 32: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/32.jpg)
2)subset.py• Fica na pastatoolsdoaplicativo• Utilizado para gerar basesdetreinamento ebasesdeteste
• deve utilizar oparâmetro –s1para garantir aleatóriedade
USO
tools/subset.py -s1 heart_scale.scale 135traintest
Geraos arquivos trainetest.Trainé usado para treinamento (gridesvm-train)Testé usado para avaliar ametodologia (svm-predict) 32
![Page 33: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/33.jpg)
3)grid.py• Fica na pastatools• Servepara estimar os parâmetros doSVM(Cegama)quandoforutilizado onúcleo radial
USO
tools/grid.py train
33
C Gama Acc
![Page 34: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/34.jpg)
4)svm-train• RealizaotreinamentoSVMcriandoummodelo• Porpadrãousa:
• -ssvm-type=C-SVC(paraclassificação)• -tkernel-type=radial
• DeveserinformadooCegamaobtidosnaetapaanterior• -cXXX• -gYYY
• Podeaplicar–vparavalidaçãocruzadainformandoonúmerodefolds
34
![Page 35: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/35.jpg)
4)svm-trainUSO
svm-train-c8-g0.0078125trainmodelo
Oarquivo modelo gerado representa otreinamento doSVM 35
Representa quantosvetores foram utilizadospara o modelo detreinamento.Quanto menor, melhor(menor dimensão VC)
![Page 36: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/36.jpg)
5)svm-predict• Apartir doarquivo demodelo,usa oarquivo detestparaavaliar ométodo
USO
svm-predicttest modelo rtest
Em rtest é gravado oresultado daclassificação 36
![Page 37: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/37.jpg)
Arquivo rtest
37
• Usado para avaliar os resultados
• Compara cada resposta esperada, com a respost gerada
ok
erro
![Page 38: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/38.jpg)
Quando sedeseja obterProbabilidades• Useoparâmetro –b1 nosvm-trainpara obter asprobabilidades por classe
USO
svm-train–b1-c8-g0.0078125trainmodelo
Paraoheart_scalePerceba que foram usados os mesmos parâmetros dogrid
38
![Page 39: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/39.jpg)
Quando sedeseja obterProbabilidades• eincluir omesmo parâmetro nosvm-predict
USO
svm-predict–b1testmodelo rtest
39
![Page 40: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/40.jpg)
Saída comprobabilidades
40
• Usado paraavaliar osresultados
• Aqui cadalinha tambémcontém o grau de pertinênciaentre classes
ok
![Page 41: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/41.jpg)
Conjuntos desbalanceados?• Desbalanceamento:existem mais representantes daclasse 1doque daclasse 0
• SVMnão necessita deajustes para conjuntos levementedesbalanceados
• Paraconjuntos fortemenente desbalanceados é necessárioajustar aquantidade deerro que pode ser suportada• Ou para conjuntos onde existe uma necessidade maior deacertodeumconjunto em relação ao outro
• Pense:Porque? 41
![Page 42: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/42.jpg)
Weighted SVM• Umadasmaneiras é usando oparâmetro –wi VALOR
• onde i é onúmero daclasse eVALOR aquantidade depeso
• Naprática diz ao classificador quanto irá custar amais errar(VALOR)umindivíduo daclasse I
• Oque muda?
• tools/grid.py -w15train• svm-train-c8–g0.5-w15 trainmodelo
42
![Page 43: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/43.jpg)
Comousar?Regressão• Paraestratégia dividindo treinamento eteste (ou validação)• Colocar abasenoformato .libsvm
• Utilitários básicos (são aplicados na ordem abaixo)1. svm-scale2. subset.py3. gridregression.py4. svm-train5. svm-predict 43
11:0.12:2.33:1.0-11:0.22:1.33:0.511:0.32:3.33:1.2…
![Page 44: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/44.jpg)
1)svm-scale• Servepara normalizar asvariáveis.Melhora aconvergência dométodo
• Faixas definidas pelos parâmetros –l(lower)e–u(upper)• videoutras opções desalvar…
USO:svm-scale body_fat >body_fat.scale
Normaliza entreafaixa -1a1,por padrão.
*https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/regression/bodyfat
44
![Page 45: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/45.jpg)
2)subset.py• Fica na pastatoolsdoaplicativo• Utilizado para gerar basesdetreinamento ebasesdeteste
• deve utilizar oparâmetro –s1para garantir aleatóriedade
USO
tools/subset.py -s1 body_fat.scale 125traintest
Geraos arquivos trainetest.Trainé usado para treinamento (gridregression esvm-train)Testé usado para avaliar ametodologia (svm-predict) 45
![Page 46: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/46.jpg)
3)gridregression.py• Deve ser baixado como add-ondolibsvm• Servepara estimar os parâmetros doSVM(Cegama)quandoforutilizado onúcleo radialedoepsilonpara regressão
USO
tools/gridregression.py train
46
C Gama p mean square error
![Page 47: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/47.jpg)
4)svm-train• Realiza otreinamento SVMcriando ummodelo• Por padrão usa:
• -ssvm-type=epsilon-SVR(para regressão)• -tkernel-type=radial
• Deve ser informado oCegama obtidos na etapa anterior• -cXXX• -gYYY• -pYYY
• Pode aplicar –vpara validação cruzada informando onúmerodefolds
47
![Page 48: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/48.jpg)
4)svm-trainUSO
svm-train–s3 -c4.0-g0.00390625–p0.00390625trainmodelo
Oarquivo modelo gerado representa otreinamento doSVM 48
Representa quantosvetores foram utilizadospara o modelo detreinamento.Quanto menor, melhor(menor dimensão VC)
![Page 49: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/49.jpg)
5)svm-predict• Apartir doarquivo demodelo,usa oarquivo detestparaavaliar ométodo
USO
svm-predicttest modelo rtest
Em rtest é gravado oresultado daclassificação 49
![Page 50: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/50.jpg)
Não é possível exibir esta imagem no momento.
Arquivo rtest
50
• Usado paraavaliar osresultados
• Compara cadarespostaesperada, com a respost gerada
![Page 51: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/51.jpg)
Usando oWeka anosso favor
51
![Page 52: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/52.jpg)
Oque é• Softwarelivre,voltado para amineração dados• Mantenedora principal:UniversityofWaikato(http://www.cs.waikato.ac.nz/ml/weka/)
52
![Page 53: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/53.jpg)
Weka Explorer– Usando SVM• Inicialmente deve ser linkar olibsvm comoweka
• Maneira #1:incluir noclasspath
java-classpath $CLASSPATH:weka.jar:libsvm.jarweka.gui.GUIChooser
• Maneira #2:maior partedasvezes já está incluida nopacotecompleto doweka
53
![Page 54: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/54.jpg)
Weka Explorer
54
![Page 55: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/55.jpg)
Filter• Filter->unsupervised->attribute->Normalize
55
![Page 56: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/56.jpg)
Classify
56
![Page 57: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/57.jpg)
Ajuste deParâmetros• Meta->GridSearch
57
![Page 58: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/58.jpg)
Ajuste deParâmetros• Meta->GridSearch
• classifier:escolha libsvm• evaluation:accuracy(veja seé omelhor para você)• filer:escolha Allfilter (não vamos fazer nenhuma filtragem)
• Em:• Xexpression =pow(BASE,I)• Xmax =15• Xmin =-5• Xproperty =classifier.cost• Xstep =1• Xbase =2
• ….58
![Page 59: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/59.jpg)
Ajuste deParâmetros• Em:
• Yexpression =pow(BASE,I)• Ymax =3.0• Ymin =-15• Yproperty =classifier.gamma• Ystep =1• Ybase =2
• ESALVE!
59
![Page 60: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/60.jpg)
Ajuste deParâmetros
60
Ajuste opercentual!
![Page 61: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/61.jpg)
NovoResultado
61
![Page 62: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/62.jpg)
Parâmetros
62
![Page 63: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/63.jpg)
Detalhe• Parafazer sucessivos treinos etestesnoWeka,combasesaleatórias:• Gerepor fora basesaleatórias para ele
• ou
• Utilizeofiltro Randomize,sempre mudando oseed!!!
63
![Page 64: Máquinas de Vetores Suportegeraldo/vc/n3..SVM.pdf · funções de classificação que podem ser induzidas a partir de F. •Dado um problema de classificação binário, essa dimensão](https://reader036.fdocumentos.com/reader036/viewer/2022062607/604a4a551548af17360f192a/html5/thumbnails/64.jpg)
Referências• Ana Carolina Lorena e André C. P. L. F. de Carvalho.
Uma Introdução às Support Vector Machines • C.J.C. Burges. A tutorial on support vector machines
for pattern recognition. Data Mining and Knowledge Discovery, 2(2):955-974, 1998. http://citeseer.nj.nec.com/burges98tutorial.html
• LIBSVM: http://www.csie.ntu.edu.tw/~cjlin/libsvm/
64