TensorFlow está especialmente indicado para el aprendizaje profundo, es decir, redes neuronales con muchas capas y topologías extrañas.
Eso es. Es una alternativa a Theano , pero desarrollada por Google.
Tanto en TensorFlow como en Theano, usted programa simbólicamente. Defina su red neuronal en forma de operaciones algeabreicas (estos nodos se multiplican por estos pesos y luego se aplica una transformación no lineal, bla bla bla), que se representan internamente mediante un gráfico (que en el caso de TensorFlow, pero no Theano, puedes ver para depurar tu red neuronal).
Luego, TensorFlow (o Theano) ofrece algoritmos de optimización que hacen el trabajo pesado de averiguar qué pesos minimizan la función de costo que desea minimizar. Si su red neuronal está destinada a resolver un problema de regresión, es posible que desee minimizar la suma de las diferencias al cuadrado entre los valores pronosticados y los valores verdaderos. TensorFlow hace el trabajo pesado de diferenciar su función de costo y todo eso.
EDITAR: Olvidé mencionar que, por supuesto, los SVM pueden verse como un tipo de red neuronal , por lo que, obviamente, puede entrenar un SVM utilizando las herramientas de optimización TensorFlow. Pero TensorFlow solo viene con optimizadores basados en el descenso de gradiente que son un poco estúpidos para entrenar un SVM a menos que tenga muchas observaciones, ya que hay optimizadores específicos para SVM que no se atascan en los mínimos locales.
Además, probablemente valga la pena mencionar que TensorFlow y Theano son marcos de bastante bajo nivel. La mayoría de las personas usan marcos que están construidos sobre ellos y son más fáciles de usar. No sugeriré aquí ninguno, porque eso generaría su propia discusión. Vea aquí sugerencias para paquetes fáciles de usar.