TensorFlow ist besonders für Deep Learning geeignet, dh für neuronale Netze mit vielen Schichten und seltsamen Topologien.
Das ist es. Es ist eine Alternative zu Theano , wurde jedoch von Google entwickelt.
Sowohl in TensorFlow als auch in Theano programmieren Sie symbolisch. Sie definieren Ihr neuronales Netzwerk in Form von algeabreischen Operationen (diese Knoten werden mit diesen Gewichten multipliziert und dann wird eine nichtlineare Transformation angewendet, bla bla bla), die intern durch einen Graphen dargestellt werden (was im Fall von TensorFlow aber der Fall ist) nicht Theano, können Sie tatsächlich sehen, um Ihr neuronales Netzwerk zu debuggen).
Dann bietet TensorFlow (oder Theano) Optimierungsalgorithmen an, mit denen Sie herausfinden können, welche Gewichte die Kostenfunktion minimieren, die Sie minimieren möchten. Wenn Ihr neuronales Netzwerk ein Regressionsproblem lösen soll, möchten Sie möglicherweise die Summe der quadratischen Differenzen zwischen den vorhergesagten Werten und den wahren Werten minimieren. TensorFlow erledigt die schwere Arbeit, Ihre Kostenfunktion und all das zu differenzieren.
BEARBEITEN: Ich habe vergessen zu erwähnen, dass SVMs natürlich als eine Art neuronales Netzwerk angesehen werden können. Daher können Sie eine SVM natürlich mit TensorFlow-Optimierungstools trainieren. TensorFlow enthält jedoch nur Optimierer, die auf Gradientenabstieg basieren und etwas dumm sind, um eine SVM zu trainieren, es sei denn, Sie haben viele Beobachtungen, da es spezielle Optimierer für SVM gibt, die nicht in lokalen Minima stecken bleiben.
Erwähnenswert ist wahrscheinlich auch, dass TensorFlow und Theano ziemlich einfache Frameworks sind. Die meisten Benutzer verwenden Frameworks, die darauf aufbauen und einfacher zu verwenden sind. Ich werde hier keine vorschlagen, da dies zu einer eigenen Diskussion führen würde. Sehen Sie hier Anregungen für einfach zu bedienen Pakete.