9 votos

¿Cuál es el propósito de usar un árbol de decisión?

No entiendo cuál es el propósito de el árbol de decisión? La manera en que yo lo veo es, se trata de una serie de if-else. Por qué no me acaba de uso if-else en lugar de utilizar un árbol de decisión? Esto es debido a que disminuye la complejidad de mi código?

Todavía estoy a salvo de cálculo de la entropía de la información y de ganancia, porque hay prediseñadas algoritmos para ellos donde puedo conectar en las normas de derecho? (Como ID3)

¿Por qué lo usamos con el aprendizaje de máquina ahora? Porque ni siquiera tenemos que venir para arriba con las reglas, mientras que antes necesitábamos? La máquina aprende a partir de los datos de entrenamiento y en función de los atributos se puede predecir el resultado?

¿La implementación de ML en mi código de disminuir la sobrecarga de más y hace que mi código sea más complejo, más eficaz, más rápido?

23voto

ChicksDigTrig Puntos 6

La manera en que yo lo veo es, se trata de una serie de if-else. Por qué no me acaba de uso if-else en lugar de utilizar un árbol de decisión?

Tienes toda la razón. Un árbol de decisión no es otra cosa sino una serie de if-else. Sin embargo, es la manera de interpretar estas declaraciones como un árbol que nos permite construir estas reglas de forma automática... I. e. dado que algunos ejemplo de entrada de set $(x_1, y_1), ..., (x_N, y_N)$ ... ¿cuál es el mejor conjunto de reglas que describe lo que el valor de $y$ ha dado una nueva entrada de $x$? ID3 y de la misma manera nos permite crear automáticamente estas reglas. No es realmente sobre el árbol una vez construido, se trata de cómo lo hemos creado.

Aparte de que uno casi nunca se utiliza un árbol de decisión solo, la razón de ser precisamente lo que usted dice: es un bonito modelo simplista que carece de expresividad. Sin embargo, tiene una gran ventaja sobre otros modelos: Uno puede calcular un único árbol de decisión bastante rápido. Eso significa que nos puede venir para arriba con algoritmos que entrenar muchos árboles de decisión (impulsar, también conocido como AdaBoost y GradientBoosting) en grandes conjuntos de datos. Estos de la colección de (generalmente más de 500) de estos modelos simplistas (llamado bosque) puede expresar mucho las formas más complicadas.

Usted también podría imagino como esta: Dado un 'bonito' (es decir, continuo), pero complicado función de $f : [a,b] \to \mathbb{R}$ podríamos tratar de aproximar esta función mediante líneas. Si la función es complicado (como $sin(x)$ o así) a continuación, nos producen un gran error. Sin embargo, podríamos combinar líneas en la forma en que dividimos el intervalo de $[a,b]$ en partes más pequeñas $a = a_0 < a_1 < ... < a_M = b$ , y en cada una de las $a_i, a_{i+1}$ tratamos de approximize $f|_{(a_i, a_{i+1})}$ (es decir, $f$ restringido a este intervalo) por una línea. Por matemáticas básicas (análisis) entonces podemos aproximar la función arbitrariamente cerca (es decir, hacer arbitrariamente un pequeño error) si tomamos la suficiente líneas. Por lo tanto, hemos construido un complicado pero el modelo exacto de muy simple. Que es exactamente la misma idea de que (por ejemplo) GradientBoosting usos: Se construye un bosque de muy 'estúpido' único de árboles de decisión.

1voto

getmizanur Puntos 290

Sólo añadir a @Fabián Werner respuesta - ¿ te acuerdas de hacer las Sumas de Riemann de la regla en una introducción a la integración? Así que también era un conjunto de manera uniforme con particiones si las declaraciones que usted usa para calcular el área bajo la función.

Si usted dibuja una 1D función y dibujar las particiones de manera uniforme lo que va a encontrar es que en las áreas donde la función tiene poco degradado, los vecinos de las particiones se pueden combinar sin una gran pérdida en la precisión. Igualmente, en las particiones con alto gradiente de añadir más particiones de manera significativa a mejorar la aproximación.

Cualquier conjunto de particiones será aproximada de la función, pero algunos son claramente mejores que otros.

Ahora, pasando a modelos de CARRITO - podemos ver los datos en el formulario de ruidosos puntos de esta función y se nos pide a la aproximación de la función. Mediante la adición de demasiadas particiones podemos overfit y fundamentalmente realizar un vecino más cercano, el tipo de modelo. Para evitar esto podemos limitar el número de particiones de nuestro modelo puede utilizar (generalmente en la forma de profundidad max y min muestras por split). Así que ahora, ¿dónde debemos colocar estas divisiones? Esa es la pregunta dirigida por los criterios de división. Las áreas con mayor "complejidad" deben recibir más divisiones como una regla de oro y que es lo que de gini, la entropía, etc. procuran hacer.

Hacer predicciones son sólo if-else, pero en el contexto de aprendizaje de máquina que no es donde el poder de la modelo. El poder proviene del modelo de la capacidad para el comercio mayor y menor de ajuste en una manera escalable y puede derivar en un coherente marco probabilístico teóricos garantías en el límite de datos. Finalmente, si tomamos una similar visión abstracta de la ML modelos podemos decir que las redes neuronales, métodos del núcleo, Monte Carlo enfoques y muchos más son simplemente la suma y la multiplicación. Por desgracia, eso no es muy útil a la vista de la literatura.

0voto

Matt Elly Puntos 50

Un árbol de decisión es una partición del dominio del problema en subconjuntos, por medio de condiciones. Es generalmente implementados como en cascada si-entonces-elses. Se puede ver como un término que describe una compleja lógica de decisión.

Los árboles de decisión son ni más eficiente ni más "apoyo" de aprendizaje de máquina de pruebas lógicas. Ellos son pruebas lógicas.

También hay que tener en cuenta que el algoritmo no es más que una combinación de cálculos aritméticos y pruebas, es decir, un (normalmente enorme) árbol de decisión.


La integridad, señalemos que en algunos contextos, tales como el aprendizaje de máquina, complejo de árboles de decisión se construyen de forma automática, por medio de algoritmos. Pero esto no cambia su naturaleza.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X