机器学习(六)--------神经网络(Neural Networks)

无论是线性回归还是逻辑回归都有这样一个缺点,即:当特征太多时,
计算的负荷会非常大。
比如识别图像,是否是一辆汽车,可能就需要判断太多像素。
这时候就需要神经网络。

神经网络是模拟人类大脑的神经网络,由神经元,输入树突,输出树突构成。
由此设计神经网络模型:

x1,x2,x3是输入单元,将原始数据给他们,
𝑏 1 , 𝑏 2 , 𝑏 3 是中间单元,它们负责将数据进行处理,然后呈递到下一层。
最后是输出单元,它负责计算ℎ 𝜃 (𝑦)。
前向传播算法( FORWARD PROPAGATION ) 从左到右的算法

单层神经元(无中间层)的计算可用来表示逻辑运算

反向传播算法

小结一下使用神经网络时的步骤:
网络结构:第一件要做的事是选择网络结构,即决定选择多少层以及决定每层分别有多
少个单元。
第一层的单元数即我们训练集的特征数量。
最后一层的单元数是我们训练集的结果的类的数量。
如果隐藏层数大于 1,确保每个隐藏层的单元个数相同,通常情况下隐藏层单元的个数
越多越好。
我们真正要决定的是隐藏层的层数和每个中间层的单元数。
训练神经网络:

  1. 参数的随机初始化
  2. 利用正向传播方法计算所有的ℎ 𝜃 (𝑦)
  3. 编写计算代价函数 𝐾 的代码
  4. 利用反向传播方法计算所有偏导数
  5. 利用数值检验方法检验这些偏导数
  6. 使用优化算法来最小化代价函数

大数据流动 专注于大数据实时计算,数据治理,数据可视化等技术分享与实践。
请在后台回复关键字下载相关资料。相关学习交流群已经成立,欢迎加入~

posted @ 2019-04-15 10:54  独孤风  阅读(344)  评论(0编辑  收藏  举报