TensorFlow особенно показан для глубокого обучения, то есть нейронных сетей с большим количеством слоев и странных топологий.
Вот и все. Это альтернатива Theano , но разработанная Google.
И в TensorFlow, и в Theano вы программируете символически. Вы определяете свою нейронную сеть в форме алгебраических операций (эти узлы умножаются на эти веса, а затем применяется нелинейное преобразование, бла-бла-бла), которые внутренне представляются графом (который в случае TensorFlow, но не Theano, вы можете видеть это для отладки вашей нейронной сети).
Затем TensorFlow (или Theano) предлагают алгоритмы оптимизации, которые выполняют тяжелую работу по выяснению того, какие веса минимизируют любую функцию затрат, которую вы хотите минимизировать. Если ваша нейронная сеть предназначена для решения проблемы регрессии, вы можете минимизировать сумму квадратов различий между прогнозируемыми значениями и истинными значениями. TensorFlow выполняет тяжелую работу по дифференцированию вашей функции затрат и всего этого.
РЕДАКТИРОВАТЬ: Забыл упомянуть, что, конечно, SVM можно рассматривать как тип нейронной сети , поэтому, очевидно, вы можете обучить SVM с помощью инструментов оптимизации TensorFlow. Но TensorFlow поставляется только с оптимизаторами на основе градиентного спуска, которые немного глупо использовать для обучения SVM, если у вас нет большого количества наблюдений, поскольку существуют специальные оптимизаторы для SVM, которые не застревают в локальных минимумах.
Также, вероятно, стоит упомянуть, что TensorFlow и Theano - довольно низкоуровневые фреймворки. Большинство людей используют фреймворки, построенные поверх них, и их проще использовать. Я не буду предлагать здесь ничего, потому что это вызовет свою дискуссию. Смотрите здесь предложения для простых в использовании пакетов.