Minerı́a de Datos Clasificación Cristina Tı̂rnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias – Ing. Informática – Otoño de 2012 Minerı́a de Datos Interés en realidades existentes El proceso de minerı́a de datos incluirá fases de modelado a partir de observaciones (datos) sobre una realidad compleja y existente. Taxonomı́a: Modelos descriptivos: I I I Segmentación, Asociación. I Modelos supervisados, Modelos predictivos: I Modelos no supervisados, Regresión, Clasificación, Priorización. I Sistemas de recomendación... I I I I (Nociones mutuamente no excluyentes.) Minerı́a de Datos Interés en realidades existentes El proceso de minerı́a de datos incluirá fases de modelado a partir de observaciones (datos) sobre una realidad compleja y existente. Taxonomı́a: Modelos descriptivos: I I I Segmentación, Asociación. I Modelos supervisados, Modelos predictivos: I Modelos no supervisados, Regresión, Clasificación, Priorización. I Sistemas de recomendación... I I I I (Nociones mutuamente no excluyentes.) ¿Utilizar regresión lineal para clasificación? Cáncer de mama (maligno / benigno) 1 (P) ¿Maligno? 0 (N) Tamaño del tumor ¿Utilizar regresión lineal para clasificación? Cáncer de mama (maligno / benigno) 1 (P) ¿Maligno? 0 (N) Tamaño del tumor ¿Utilizar regresión lineal para clasificación? Cáncer de mama (maligno / benigno) 1 (P) ¿Maligno? 0 (N) Tamaño del tumor Idea: establecer el umbral de clasificación para hθ (x) a 0.5: I si hθ (x) ≥ 0.5, predecir “y=1” I si hθ (x) < 0.5, predecir “y=0” ¿Utilizar regresión lineal para clasificación? Cáncer de mama (maligno / benigno) 1 (P) ¿Maligno? 0 (N) Tamaño del tumor Idea: establecer el umbral de clasificación para hθ (x) a 0.5: I si hθ (x) ≥ 0.5, predecir “y=1” I si hθ (x) < 0.5, predecir “y=0” ¿Utilizar regresión lineal para clasificación? Cáncer de mama (maligno / benigno) 1 (P) ¿Maligno? 0 (N) Tamaño del tumor Idea: establecer el umbral de clasificación para hθ (x) a 0.5: I si hθ (x) ≥ 0.5, predecir “y=1” I si hθ (x) < 0.5, predecir “y=0” ¿Utilizar regresión lineal para clasificación? Cáncer de mama (maligno / benigno) 1 (P) ¿Maligno? 0 (N) Tamaño del tumor Idea: establecer el umbral de clasificación para hθ (x) a 0.5: I si hθ (x) ≥ 0.5, predecir “y=1” I si hθ (x) < 0.5, predecir “y=0” Problema: y = 0 o y = 1 (clasificación) Pero hθ (x) puede ser > 1 o < 0 Regresión logı́stica: 0 ≤ hθ (x) ≤ 1 ¿Utilizar regresión lineal para clasificación? Cáncer de mama (maligno / benigno) 1 (P) ¿Maligno? 0 (N) Tamaño del tumor Idea: establecer el umbral de clasificación para hθ (x) a 0.5: I si hθ (x) ≥ 0.5, predecir “y=1” I si hθ (x) < 0.5, predecir “y=0” Problema: y = 0 o y = 1 (clasificación) Pero hθ (x) puede ser > 1 o < 0 Regresión logı́stica: 0 ≤ hθ (x) ≤ 1 Modelo de regresión logı́stica Queremos: 0 ≤ hθ (x) ≤ 1 hθ (x) = θ0 + θ1 ∗ x Modelo de regresión logı́stica Queremos: 0 ≤ hθ (x) ≤ 1 hθ (x) = θ0 + θ1 ∗ x Función sigmoide (función logı́stica): g (z) = 1 1+e −z Modelo de regresión logı́stica Queremos: 0 ≤ hθ (x) ≤ 1 hθ (x) = g (θ0 + θ1 ∗ x) Función sigmoide (función logı́stica): g (z) = 1 1+e −z Modelo de regresión logı́stica Queremos: 0 ≤ hθ (x) ≤ 1 hθ (x) = g (θ0 + θ1 ∗ x) Función sigmoide (función logı́stica): g (z) = Predecimos “y = 1” si hθ (x) ≥ 0.5 “y = 0” si hθ (x) < 0.5 1 1+e −z Umbral de decisión hθ (x) = g (θ0 + θ1 ∗ x1 + θ2 ∗ x2 ) Umbral de decisión hθ (x) = g (θ0 + θ1 ∗ x1 + θ2 ∗ x2 ) Por ejemplo, si θ = (−3, 1, 1)t . Umbral de decisión hθ (x) = g (θ0 + θ1 ∗ x1 + θ2 ∗ x2 ) Por ejemplo, si θ = (−3, 1, 1)t . Predecimos “y = 1” si −3 + x1 + x2 ≥ 0 “y = 0” si −3 + x1 + x2 < 0 Umbral de decisión no lineal hθ (x) = g (θ0 + θ1 ∗ x1 + θ2 ∗ x2 + θ3 ∗ x12 + θ4 ∗ x22 ) Umbral de decisión no lineal hθ (x) = g (θ0 + θ1 ∗ x1 + θ2 ∗ x2 + θ3 ∗ x12 + θ4 ∗ x22 ) Por ejemplo, si θ = (−1, 0, 0, 1, 1)t . Umbral de decisión no lineal hθ (x) = g (θ0 + θ1 ∗ x1 + θ2 ∗ x2 + θ3 ∗ x12 + θ4 ∗ x22 ) Por ejemplo, si θ = (−1, 0, 0, 1, 1)t . Predecimos “y = 1” si 1 + x12 + x22 ≥ 0 “y = 0” si 1 + x12 + x22 < 0 Umbral de decisión no lineal hθ (x) = g (θ0 + θ1 ∗ x1 + θ2 ∗ x2 + θ3 ∗ x12 + θ4 ∗ x22 ) Por ejemplo, si θ = (−1, 0, 0, 1, 1)t . Predecimos “y = 1” si 1 + x12 + x22 ≥ 0 “y = 0” si 1 + x12 + x22 < 0 ... y podemos complicar aún más hθ (x) = g (θ0 +θ1 ∗x1 +θ2 ∗x2 +θ3 ∗x12 +θ4 ∗x12 ∗x2 +θ5 ∗x12 ∗x22 +θ6 ∗x13 ∗x2 +. . .) Función de costo Regresión lineal: J(θ) = 1 m Pm 1 (i) i=1 2 (hθ (x ) − y (i) )2 Cost(hθ (x (i) ), y (i) ) = 12 (hθ (x (i) ) − y (i) )2 J(θ) = 1 m Pm i=1 Cost(hθ (x (i) ), y (i) ) Función de costo Regresión lineal: J(θ) = 1 m Cost(hθ (x ), y J(θ) = 1 m Pm 1 (i) i=1 2 (hθ (x ) − y (i) )2 ) = 12 (hθ (x ) − y Pm i=1 Cost(hθ (x )2 (i) ), y (i) ) Función de costo para la regresión logı́stica: Función de costo Regresión lineal: J(θ) = 1 m Pm 1 (i) i=1 2 (hθ (x ) ) = 12 (hθ (x ) − y Cost(hθ (x ), y J(θ) = − y (i) )2 1 m Pm i=1 Cost(hθ (x )2 (i) ), y (i) ) Función de costo para la regresión logı́stica: Cost(hθ (x), y ) = − log(hθ (x)) − log(1 − hθ (x)) si y = 1 si y = 0 Función de costo Regresión lineal: J(θ) = 1 m Pm 1 (i) i=1 2 (hθ (x ) ) = 12 (hθ (x ) − y Cost(hθ (x ), y J(θ) = − y (i) )2 1 m Pm i=1 Cost(hθ (x )2 (i) ), y (i) ) Función de costo para la regresión logı́stica: Cost(hθ (x), y ) = − log(hθ (x)) − log(1 − hθ (x)) si y = 1 si y = 0 En una linea, Cost(hθ (x), y ) = −y ∗ log(hθ (x)) − (1 − y ) ∗ log(1 − hθ (x)) Algorı́tmo del gradiente descendente, I J(θ) = − m 1 X (i) [ y ∗ log(hθ (x (i) )) + (1 − y (i) ) ∗ log(1 − hθ (x (i) ))] m i=1 Objetivo: buscar θ tal que J(θ) sea mı́nimo. repetir hasta convergencia { ∂ θj = θj − α ∂θ J(θ) j } Algorı́tmo del gradiente descendente, II J(θ) = − m 1 X (i) [ y ∗ log(hθ (x (i) )) + (1 − y (i) ) ∗ log(1 − hθ (x (i) ))] m i=1 Objetivo: buscar θ tal que J(θ) sea mı́nimo. repetir hasta convergencia { (i) α Pm (i) (i) θj = θj − m i=1 (hθ (x ) − y ) ∗ xj }