В стэндфорде нейросети изучают на octave (клон matlab).
Язык немного странный, но там люто удобно умножать диких размерностей вектора и матрицы.
Есть онлайн курс:
https://class.coursera.org/ml-004 (нейросети там на 4ой неделе, и наврядли будет понятно без первых 3ёх, но попробовать можно, конечно.)
И я сомневаюсь, что делать всё с нуля на всяких c++ - хорошая идея.
Может что-нибудьи получится, но самое примитивное, тормозное и неэффективное.