什么是神经网络(Neural Networks)呢?最开始科学家想用算法去模拟大脑达到人工智能。经过一系列的实验发现,大脑是经过神经元进行工做的,神经元之间经过电信号传递信息。因而他们就开始模拟神经元的工做过程,用算法去模拟神经元,这就造成了神经网络。神经网络能够用来学习复杂的非线性假设模型。算法
以下图,蓝色圈模拟输入信息,黄色圈模拟神经元,假设函数 h_θ(x) 模拟输出信息,该函数就是咱们以前学过的逻辑函数(Logistic Function),又称为 Sigmoid Function。微信
那么如今一个神经元模拟好了,可是大脑确定不是靠一个神经元工做的,如今开始模拟多个神经元的工做过程,以下图:网络
其中 Layer 1 层模拟输入信号,连线表明信号传递的方向。Layer 2 层表示隐藏层,这一层的输入输出都是不可见的,所以叫隐藏层,这一层一般会有不少层。 Layer 3 层为输出层,这一层会输出结果。按照从 Layer 1 层到 Layer 3 层这个方向传播叫作前向传播。机器学习
一般会在每一层都加上一个偏置单元,以下图:函数
每个神经元也就是假设函数 h_θ(x) 的构造以下:学习
表示第 j 层第 i 个神经元。人工智能
表示第 j 层神经元的参数矩阵。spa
在逻辑回归中,求最佳的参数能够用最小化代价函数来求,那么神经网络中也有参数,这些参数咱们能够用一样的办法进行求解。先用咱们最熟悉的逻辑回归代价函数来进行类比,逻辑回归的代价函数以下(其中红线部分为对参数进行正则化,θ_0 不须要正则化):3d
相似地,神经网络的代价函数以下:cdn
其中:
L = 神经网络的层数;
S_l= l 层有多少个单元;
K = 输出单元的数目。
乍一眼看上去挺复杂,其实类比逻辑回归的代价函数来看,思想都是同样的。
ps. 本篇文章是根据吴恩达机器学习课程整理的学习笔记。若是想要一块儿学习机器学习,能够关注微信公众号「SuperFeng」,期待与你的相遇。