evaluando hipotesis experimentales

Anuncio
Evaluando las Hipótesis
Inductivas
Tomás Arredondo Vidal
8/9/2011
Evaluando las Hipótesis Inductivas
Contenidos
•
Estimando la Precisión
•
Comparando Hipótesis
•
Comparando Algoritmos de Clasificación
Evaluando las Hipótesis Inductivas
• La precisión (accuracy) de la hipótesis h sobre los datos de
entrenamiento esta sesgada dado que h fue construida para calzar
esos datos (e.g. bias en la estimación y posible sobreajuste).
• La precisión debe ser evaluada en un conjunto de pruebas
independiente (generalmente disjunto) de los datos de entrenamiento.
• Mientras mayor es el conjunto de prueba, mejor la precisión medida y
menor es la varianza observada en distintos conjuntos de prueba.
Definición: X es un conjunto de posibles instancias (e.g. el conjunto de
todas las personas con varios atributos como edad, ocupacion, veces que
han esquiado, ...) sobre la cual se puede definir una función objetivo
f: X -> {0, 1} (e.g. las personas que van a comprar esquís este año).
X se puede encontrar con distintas frecuencias dada una distribución D
de probabilidades (e.g. D puede asignar mayor probabilidad a los de 19
años que a la gente de 100 años).
Error de Muestra vs Error Verdadero
Definición: El error de muestra (sample error) de la hipótesis h con
respecto a la función objetivo f( ) dado una muestra S es
1
error S ( h)= ∑ δ ( f ( x),h( x ))
n x∈S
δ ( f ( x ),h( x ))=1 si f ( x )≠h( x ), 0 de otra forma.
Definición: El error verdadero (true error) es el error de la hipótesis h
con respecto a la función objetivo f( ) dado la distribución D. Es la
probabilidad que h mis-clasifique una instancia elegida de acuerdo a D.
[ f ( x )≠h ( x ) ]
Relación con la Distribución Binomial
Como es que la desviación entre el error de muestreo y el error
verdadero depende del tamaño de la muestra?
La respuesta tiene que ver con que cuando medimos el error de la
muestra S estamos haciendo un experimento aleatorio con un
resultado aleatorio.
Tomemos una muestra Si de n instancias independientes de la
distribución D y midamos el errorSi (h). Si repetimos este experimento
k veces {Si : S1 , S2. , ..., Sk } esperaríamos distintos números de
errores cada vez.
Decimos que errorSi (h) es una variable aleatoria y si graficamos un
histograma mostrando la frecuencia de obtener cada posible valor de
error a medida que k creciera esta distribución seria una Binomial.
Relación con la Distribución Binomial (cont)
Ej: En la distribución Binomial la probabilidad de observar r caras (X = r )
en una muestra de n tiros independientes de una moneda, cuando la
probabilidad de sacar cara en un tiro individual es p esta dada por:
n!
r
n−r
P( X=r )=P(r )=
p (1− p )
r!(n−r )!
Estimar p de una muestra aleatoria es equivalente a estimar error D(h)
al probar la hipótesis h en una muestra aleatoria Si . Un tiro de
la moneda corresponde a sacar una muestra de D y determinar si esta
mal clasificada por h. La probabilidad p corresponde a error D(h), r
corresponde al numero de misclasificaciones y r / n a error Si(h).
error D (h )=p
r
error S (h )=
n
i
(1)
Relación con la Distribución Binomial (cont)
Si una variable aleatoria X sigue
una distribución Binomial entonces:
• La probabilidad Pr (X = r) = P(r)
• El promedio (mean) de X es
E(X) = Σxi Pr(X=xi ) = np
• La varianza de X, Var(X) es
Var(X) = E[(X-E[X])2] = np(1 – p)
• La desviación std de X, σX es
σX = Var(X)1/2 = (np(1 – p))1/2
n!
r
n−r
P(r )=
p (1− p)
r!(n−r )!
n=40, p=0.3
Bias y Varianza en el Estimador
• Se puede considerar errorS(h) como un estimador del error
verdadero errorD(h).
• Definición: El sesgo de estimación (estimation bias) de un
estimador Y para un parámetro arbitrario p es
estimation Bias = E[ Y ] - p
errorS(h) = E(r / n) = p indica un estimador sin sesgo (unbiased)
• Definición: La desviación std de errorS(h) dado nuestro estimador de
p con r errores en n muestras (constante) es
σ error
σr
S
√
error S (h )(1−error S (h ))
p(1− p)
=
≈
( h) =
n
n
n
√
(2)
• Dada la posible elección entre distintos estimadores es mejor uno
sin estimation bias y con la varianza mas pequeña.
La Distribución Normal como Aproximación
• errorS(h) es el porcentaje de ejemplos en un conjunto de prueba S
muestreada independientemente de tamaño n que son clasificados
erróneamente por h.
• errorD(h) es el error verdadero para la distribución general de datos
D (la que se puede esperar cuando se aplica la hipótesis a
ejemplos futuros).
• Cuando n es al menos 30, el teorema del limite central (Central
Limit Theorem) garantiza que la distribución de errorS(h) para una
muestra aleatoria S va a ser aproximada de manera cercana por
una distribución Normal (Gausiana).
P(error S(h))
errorD(h)
errorS(h)
La Distribución Normal como Aproximación (cont)
• Teorema: Teorema del limite central. Considerando un
conjunto de variables aleatorias independientes (Yi ),
idénticamente distribuidas gobernadas por una
distribución arbitraria con promedio µ y varianza finita σ2.
Se define el promedio de muestra como:
n
Ȳ n =( 1/n ) ∑ Y i
i=1
A medida que n -> ∞, independiente de la distribución
que gobierna las variables aleatorias subyacentes Yi ,
esta muestra se acerca a una distribución Normal con:
Ȳ n =μ
Ȳ n =σ / n
Intervalos de Confianza
Lo que se quiere saber es errorD(h) de la hipótesis porque este es el
error que se puede esperar cuando se aplica la hipótesis a ejemplos
futuros...
Pero lo único que podemos medir es errorS(h) para los datos que
tenemos disponibles...
La pregunta entonces es:
“ Cuan buena es la estimación de error D(h) dada
por errorS(h)? ”
Intervalos de Confianza
• Si una variable aleatoria Y obedece una distribución Normal con
promedio µ y una desviación std σ entonces el valor medido de Y
va a estar en el siguiente intervalo un N% del tiempo
yN = µ ± zN σ
(3)
Int. conf. N%: 50%
68%
80%
90%
95%
98%
99%
Const. zN: 0.67
1.00
1.28
1.64
1.96
2.33
2.58
Ej: una Normal con µ = 0, σ = 1
1.28
-1.28
.4
Con un 80% de confianza el valor
de la la variable aleatoria Y va a
estar entre [-1.28, 1.28].
Con 90% de confianza Y va a estar
en el intervalo [-∞, 1.28].
.4
0
-3
-2
-1
0
1
2
3
Intervalos de Confianza
Asumiendo que:
• la muestra S contiene n ejemplos independientes, independientes
de h y de acuerdo a la distribución D,
• n ≥ 30,
• h comete r errores sobre estas n muestras (errorS(h) = r / n).
Bajo estas condiciones la estadística nos permite decir que:
• el valor mas probable de errorD(h) es el error promedio errorS(h),
• el verdadero error con una probabilidad N% esta en el intervalo:
poniendo (1) y (2) -> (3):
error D,N ( h)=error S (h )±z N
√
error S (h )(1−error S (h))
n
La constante zN da la distancia desde la media en desviaciones std
en cualquiera de las dos direcciones.
Evaluando las Hipótesis Inductivas
Contenidos
•
Estimando la Precisión
•
Comparando Hipótesis
•
Comparando Algoritmos de Clasificación
Comparando Dos Hipótesis Aprendidas
• Cuando se evalúan dos hipótesis distintas, su
ordenamiento observado con respecto a precisión
puede o no reflejar el orden de sus precisiones
individuales reales.
– Se asume que h1 es probado en el set S1 de tamaño n1
– h2 es probado en un conjunto S2 de tamaño n2
P(error S(h))
errorS1(h1)
errorS2(h2)
Se observa h1 mas precisa que h2
errorS(h)
Comparando Dos Hipótesis Aprendidas
• Cuando se evalúan dos hipótesis distintas, su
ordenamiento observado con respecto a precisión
puede o no reflejar el orden de sus precisiones
individuales reales.
– Se asume que h1 es probado en el set S1 de tamaño n1
– h2 es probado en un conjunto S2 de tamaño n2
P(error S(h))
errorS1(h1)
errorS2(h2)
Se observa h1 menos precisa que h2
errorS(h)
Pruebas Estadísticas de Hipótesis
• Como determinar si la probabilidad que una diferencia
observada empíricamente entre dos variables es
aleatoria sin diferencias estadísticas subyacentes?
• Como determinar lo significativo de dos promedios
calculados de dos muestras distintas bajo distintas
condiciones?
• Es común usar la hipótesis nula, que es la
probabilidad de que ambas muestras fueron sacadas
de la misma distribución subyacente.
• Por convención científica rechazamos la hipótesis
nula y decimos que la diferencia es estadísticamente
significativa si la probabilidad de la hipótesis nula es
menor que el 5% (p < 0.05) o alternativamente
podemos aceptar que la diferencia esta dada por una
causa subyacente con confianza de (1 – p).
Tests de uno o dos lados
• Tests usando un lado (one sided tests) asumen
que uno espera una diferencia en una dirección
(e.g. A es mejor que B) y que la diferencia es
consistente con esa suposición
• Tests de dos lados no asumen una diferencia en
una u otra dirección.
• Tests de dos lados (i.e. two-sided tests) son
mas conservativos dado que requieren una
mayor diferencia para concluir que la diferencia
es significativa.
Test Z-Score para Comparar Hipótesis
Aprendidas
• Se asume que h1 es probado en un test set S1 de
tamaño n1 y h2 en un test set S2 de tamaño n2.
Se calcula la diferencia entre la precisión de h1 y h2:
d=∣error S (h1 )−error S (h 2 )∣
1
2
• Se calcula la desviación estándar de la estimación
muestreada de la diferencia:
√
error S (h 1 )⋅(1−error S ( h1 )) error S ( h2 )⋅(1−error S ( h2 ))
σ d=
+
n1
n2
1
1
2
2
• Se calcula el z-score de la diferencia (viene de (3)):
d
z=
σd
Test Z-Score para Comparar Hipótesis
Aprendidas (cont)
• Se determina la confianza de la diferencia al buscar la
confianza mas alta C, para el z-score calculado usando
una tabla.
confidence
level
z-score
50% 68% 80% 90% 95% 98% 99%
0.67 1.00 1.28 1.64 1.96
2.33 2.58
• Esto da la confianza para un test de dos lados (twotailed test), para un test de un lado incremente la
confianza una mitad hacia 100%.
(100−C )
C =(100−
)
2
'
Ejemplo 1 Z-Score Test
Asumir que probamos dos hipótesis en sets de prueba
de tamaño 100 y se observa:
error S (h1 )=0 . 20
error S ( h2 )=0 . 30
1
2
d=∣error S (h1 )−error S (h 2 )∣=∣0.2−0.3∣=0.1
1
√
2
error S 1 ( h1 )⋅(1−error S 1 (h1 )) error S 2 (h 2 )⋅(1−error S 2 (h 2 ))
σd=
+
n1
n2
=
z=
√
0 . 2⋅(1−0 . 2) 0 . 3⋅(1−0 . 3)
+
=0 . 0608
100
100
d
0 .1
=
=1. 644
σ d 0 . 0608
Confianza para z-test de dos colas: 90%
Confianza para z-test de una cola: (100 – (100 – 90)/2) = 95%
Ejemplo 2 Z-Score Test
Asumir que probamos dos hipótesis en sets de prueba
de tamaño 100 y se observa:
error S (h1 )=0 . 20
error S ( h2 )=0 . 25
1
2
d=∣error S (h1 )−error S (h 2 )∣=∣0.2−0.25∣=0.05
1
√
2
error S 1 ( h1 )⋅(1−error S 1 (h1 )) error S 2 (h 2 )⋅(1−error S 2 (h 2 ))
σd=
+
n1
n2
=
z=
√
0 . 2⋅(1−0 . 2) 0 . 25⋅(1−0 . 25)
+
=0 . 0589
100
100
d
0 . 05
=
=0 . 848
σ d 0 . 0589
Confianza para test de dos colas: 50%
Confianza para test de una cola: (100 – (100 – 50)/2) = 75%
Suposiciones del Test Z-Score
• Hipótesis pueden ser probadas en distintos sets
de prueba. Si se usa el mismo set de prueba se
podrían justificar conclusiones mas fuertes.
• Sets de prueba deben tener por lo menos 30
ejemplos elegidos independientes.
• Hipótesis son construidas desde sets de
entrenamiento independientes.
• Solo compara dos hipótesis especificas
independiente de los métodos usados para
construirlos. No compara los métodos de
aprendizaje subyacentes en general.
Evaluando las Hipótesis Inductivas
Contenidos
• Estimando la Precisión
• Comparando Hipótesis
• Comparando Algoritmos de Clasificación
Comparando Algoritmos de Aprendizaje
• Comparando la precisión promedio de hipótesis
producidas por dos métodos distintos de aprendizaje
es mas difícil dado que se debe promediar sobre
múltiples casos de entrenamiento. Idealmente
queremos medir:
E S⊂D (error D ( L A ( S ))−error D ( LB ( S)))
en el cual LX(S) representa la hipótesis aprendida por
el método LX usando los datos S.
• Para estimar precisamente esto necesitamos
promediar sobre múltiples sets independientes de
entrenamiento y prueba.
• Dado que los datos etiquetados son limitados,
generalmente se debe promediar usando múltiples
divisiones de los datos de entrenamiento y prueba.
Validación Cruzada K-Fold
Aleatoriamente dividir datos D en k dsets disjuntos de igual
tamaño P1…Pk
For i from 1 to k do:
Usar Pi de test set y el resto como sets de entrenamiento
Si = (D – Pi)
hA = LA(Si)
hB = LB(Si)
δi = errorPi(hA) – errorPi(hB)
Retornar el error promedio de la diferencia:
k
1
δ= ∑ δ i
k i= 1
Validación Cruzada K-Fold (cont)
• Cada set se usa como set de prueba una vez y como set de
entrenamiento k–1 veces.
• Todo los sets de prueba son independientes pero los sets
de entrenamiento se sobrelapan.
• Mediciones de precisión de hipótesis se generan para [(k–
1)/k]⋅|D| datos de entrenamiento.
• Método standard es 10-fold.
• Si k es bajo, no hay suficiente numero de sets de
entrenamiento/test; si k es alto, el test set es pequeño, la
varianza en el test es alto y el tiempo de ejecución se
incrementa.
• Si k = |D|, método de validacion cruzada se llama deja-unoafuera (leave-one-out).
Test de Relevancia (significance tests)
• Típicamente si k<30, no son suficientes muestras para
un z test.
• Se puede usar un t-test apareado (paired), que puede
determinar diferencias mas pequeñas dado que los sets
de entrenamiento/prueba son los mismos para ambas
hipótesis siendo comparadas .
• Puede usarse un (Student’s) t-test, que es mas preciso
cuando el numero de muestras es bajo.
• Los tests z y t asumen que las muestras son
independientes.No es asi para validación cruzada k-fold:
– Conjuntos de prueba son independientes
– Conjuntos de entrenamiento no son independientes
• Otros tests estadísticos han sido propuestos (e.g.
McNemar’s test)
• A pesar de que ningún test es perfecto, cuando los
datos son limitados y no hay muestras independientes,
algunos tests que consideran varianzas son deseables.
Ejemplo de Resultados Experimentales
Cual experimento provee mejor evidencia que el sistema A es mejor que B?
Experimento 2
Experimento 1
Syst. A
Syst. B
Diff
Trial 1
90%
82%
+8%
+5%
Trail 2
93%
76%
+17%
83%
+5%
Trial 3
80%
85%
–5%
82%
77%
+5%
Trial 4
85%
75%
+10%
Trial 5
85%
80%
+5%
Trial 5
77%
82%
– 5%
Average
85%
80%
+5%
Average
85%
80%
+5%
Syst. A
Syst. B
Diff
Trial 1
87%
82%
+5%
Trail 2
83%
78%
Trial 3
88%
Trial 4
Curvas de Aprendizaje
• Grafico precisión vs tamaño de set de entrenamiento.
• La máxima precisión (Bayes Optimal) se ha logrado o
podría mejorar con mas ejemplos?
• La mayoría de métodos (i.e. learners) eventualmente
convergen al optimo de Bayes dado suficientes ejemplos
de entrenamiento.
100%
Test Accuracy
Bayes optimal
Random guessing
# Training examples
Validación Cruzada de Aprendizaje
Divide data in k partitions of equal size
For trial i = 1 to k do:
Use partition i for testing and the union of the other partitions for training.
For each desired point p on the learning curve do:
For each learning system L
Train L on the first p examples of the training set and record
training time, training accuracy, and learned concept complexity.
Test L on the test set, recording testing time and test accuracy.
Compute average for each performance statistic across k trials.
Plot curves for any desired performance statistic versus training set size.
Use a paired t-test to determine significance of any differences between any
two systems for a given training set size.
Curvas de Ruido
• Graficar precisión versus el nivel de ruido para
determinar la resistencia relativa a datos de
entrenamiento ruidosos.
• Artificialmente se agrega ruido en las categorías
o características al remplazar alguna fracción de
estos con valores aleatorios.
100%
Test Accuracy
% noise added
Conclusiones de Evaluación
Experimental
• Una buena metodología experimental es clave para
poder evaluar métodos experimentales de
aprendizaje.
• Es importante probar en una variedad de problemas
para demostrar una utilidad para una variedad de
problemas. Probar en 20 o + sets de datos es
común.
• Variedad de fuentes de datos disponibles:
– UCI Machine Learning Repository
http://www.ics.uci.edu/~mlearn/MLRepository.html
– KDD Cup (large data sets for data mining)
http://www.kdnuggets.com/datasets/kddcup.html
– CoNLL Shared Task (natural language problems)
http://www.ifarm.nl/signll/conll/
• Datos de problemas reales son preferidos a datos
artificiales.
Evaluando las Hipótesis
Referencias:
[1] Mitchel, T., Machine Learning , McGraw Hill, 1997
[2] Mooney, R., Machine Learning Slides, University of Texas
Descargar