1、机器学习分类
- 有监督学习
- 无监督学习
- 半监督学习
- 强化学习
- 遗传算法
2、神经网络
- 一种基于传统统计学的模型,由大量的神经元与其关系构成。常用来对复杂的输入和输出关系进行建模
- 误差反向传递:给出信号,得到经过神经网络算法之后的结果(信号正向传播),再根据结果来修改神经网络中的神经元强度(信号反向传播)
- 通过正向和反向传播来更新神经元,从而形成更好的神经系统
- 每一个神经元都有属于它的激活函数,在训练过程中可以通过调整不同神经元的激活参数来调整模型
-
输入层:负责信息的传入
输出层:权衡、中转、输出信息
隐藏层:负责传入信息的加工处理
3、卷积神经网络(CNN)
- 应用:图片识别、视频分析、自然语言处理
-
数据输入层,卷积计算层,RELU激励层,池化层,全连接层(从这个博客看来的)
- 有一个批量过滤器,持续在图片上滚动搜集图片信息,每次只是一小块信息,整理后得到边缘信息;然后批量过滤器扫过边缘的信息,神经网络总结出更高层的信息;再一次过滤后总结出脸部信息;再把这些信息放入普通的全连接神经网络进行分类
- 问题依旧是具体实现,怎么搜集信息,怎么整理,上面的那个博客讲的很详细。
4、循环神经网络(RNN)
- 应用:语言分析,序列化数据的处理
- 为了让神经网络在有序数据集中学习,产生对当前发生事情的意义,也就是产生“上文联系”
- x1数据下产生状态s1以及结果y1,在x2数据下产生状态s2,结果y2由状态s1和s2共同创造
5、LSTM RNN
- LSTM:long short memery,长短期记忆
- 为了解决普通RNN的弊端(在误差反向传递的时候,每循环一次都会乘以当前状态的权重w,如果w>1,那么返回的误差就会很大,可能会发生梯度爆炸;而w<1,返回的误差就会很小,可能发生梯度消失)
- 普通RNN没有办法回忆起久远记忆(刚开始数据集产生的记忆)
- 与普通RNN的区别,增加了输入、输出、忘记,有主线记忆单元,当后面的数据与前面冲突时,按比例更改“主线内容”;如果与“主线”数据相关,则添加进“主线”
6、自编码(autoencoder) 神经网络的非监督学习
- 压缩——原数据精髓——解压
- 提取原图片中最具代表性的信息,压缩输入的信息量,再把缩减的信息放进神经网络中学习。对比输入和输出信息求出对比误差,进行反向传递,逐步提升自编码的准确性。
- 通常在使用自编码的时候,只会使用到自编码的前半部分——编码器。然后再创建一个小的神经网络学习原数据精髓
- 自编码可以像PCA一样给特征属性进行降维
7、生成对抗网络(Generative Adversarial Nets)
- 没有意义的随机数生成有意义的作品
- generator将没有意义的随机数生成有意义的数据;discriminator负责学习判断是生成数据还是真实数据,然后将学习到的反向传递给generator,让generator生成更像真实数据的数据