Comencemos definiendo qué son Tensor Flow, SciKit-Learn y machine learning. Los dos primeros son bibliotecas para el lenguaje de programación Python. Hay muchas otras bibliotecas disponibles para Python, por ejemplo, NumPy, PyGTK, Pandas, etc. La mayoría de los lenguajes de programación tienen soporte incorporado para tareas comunes. Para tareas menos comunes, las bibliotecas están disponibles para su uso. SciKit-Learn y Tensor Flow son bibliotecas de aprendizaje automático especialmente diseñadas. Ambos están escritos en el lenguaje de programación Python.
El aprendizaje automático, por otro lado, es un campo de la informática donde se enseña a una computadora a aprender algo sin ser programada explícitamente para ello. Esta parte es un poco difícil de entender. Considere un programa que encuentre la distancia más corta desde el punto A al punto B. Es probable que cualquier programa de este tipo utilice un algoritmo que tenga una lista definida de pasos que resulten en el cálculo de la ruta más corta. Con este algoritmo, se garantiza que el programa encontrará la ruta más corta posible, suponiendo que exista una ruta. Esta es una forma de programación explícita. Estos algoritmos están tradicionalmente relacionados con el rendimiento, es decir, ¿qué tan rápido se ejecuta este algoritmo o cuánta memoria requiere este algoritmo?
Los algoritmos de aprendizaje automático utilizan datos para inferir patrones en los datos. Estos algoritmos no tienen un conjunto definido de pasos que pueda seguir, sino que utilizan una combinación de estadísticas y álgebra lineal para trazar límites de decisión en un conjunto de datos. Usando esta técnica, aprende la entrada y la salida objetivo. La calidad de este aprendizaje depende del algoritmo de aprendizaje y de los datos utilizados. Los algoritmos de aprendizaje automático generalmente se juzgan por su precisión. Si bien el rendimiento es definitivamente una preocupación, la precisión, la precisión y el recuerdo suelen ser más importantes.
- Cómo optimizar una red neuronal convolucional para hacer una clasificación de imágenes
- ¿Cómo evalúa el rendimiento de un algoritmo de aprendizaje no supervisado?
- Cómo encontrar la correlación más fuerte entre los vectores de colores a continuación en MATLAB o Python
- ¿Una red neuronal necesita un nodo de salida para cada cosa que pueda clasificar?
- ¿Por qué la pila de RBM después de aprender no es una máquina de Boltzmann profunda (DBM)?
Ahora que hemos definido qué es el aprendizaje automático, podemos responder qué es un programa de aprendizaje automático. Bueno, ese es simplemente un programa que utiliza un algoritmo de aprendizaje automático, acepta cierta entrada de datos y genera una clase objetivo, una decisión o algún valor.
Para responder a su pregunta ahora, sí, puede crear programas de aprendizaje automático utilizando bibliotecas que no sean SciKit-Learn y TensorFlow. Por ejemplo, Caffe2 es un marco de aprendizaje automático, aunque más especialmente diseñado para el aprendizaje profundo. También puede crear programas de aprendizaje automático utilizando lenguajes que no sean Python. En teoría, se puede usar cualquier lenguaje de programación. Una alternativa adecuada es MATLAB.
Hay una razón por la cual Python y otras bibliotecas comúnmente conocidas se usan para el aprendizaje automático. Este campo es altamente experimental. Por lo tanto, vale la pena fallar temprano . El tiempo dedicado a un algoritmo defectuoso es el tiempo perdido. Python, MATLAB y sus bibliotecas permiten prototipos rápidos y resultados rápidos para obtener resultados experimentales preliminares. La compensación aquí es el rendimiento, ya que estos lenguajes no están diseñados para la informática de alto rendimiento. Una vez que un algoritmo experimental es prototipo y validado, generalmente se transfieren a otros lenguajes de alto rendimiento como C ++.