学习入门:一句话告诉你什么是神经网络(C

Python015

学习入门:一句话告诉你什么是神经网络(C,第1张

神经网络的学习主要是指使用学习算法来调整神经元间的连接权,使得网路输出更加符合实际。学习算法分为监督学习(Supervised Learning)与无监督学习(Unsupervised Learning)两类: 1、有监督学习算法将一组训练集(Training Set)送入网络,根据网络的实际输出与期望输出间的差别来调整连接权。有监督学习算法的主要步骤包括: a) 从样本集合中取出一个样本(Ai,Bi); b) 计算网络的实际输出O; c) 求D = Bi – O; d) 根据D调整权矩阵W; e) 对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。 BP算法就是一种出色的有监督学习算法。 2、无监督学习抽取样本集合中蕴含的统计特性,并以神经元之间的连接权的形式存于网络中。Hebb学习率是一种典型的无监督学习算法。

c语言属于深度学习框架。深度学习框架的出现降低了入门的门槛,你不需要从复杂的神经网络开始编代码,你可以根据需要选择已有的模型,通过训练得到模型参数,你也可以在已有模型的基础上增加自己的layer,或者是在顶端选择自己需要的分类器和优化算法(比如常用的梯度下降法)。当然也正因如此,没有什么框架是完美的,就像一套积木里可能没有你需要的那一种积木,所以不同的框架适用的领域不完全一致。总的来说深度学习框架提供了一系列的深度学习的组件(对于通用的算法,里面会有实现),当需要使用新的算法的时候就需要用户自己去定义,然后调用深度学习框架的函数接口使用用户自定义的新算法。