Machine Learning
Posted awiki
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Machine Learning相关的知识,希望对你有一定的参考价值。
一、Reinforcement Learning 强化学习
抛弃人类经验”和“自我训练”并非AlphaGo Zero最大的亮点,其关键在于采用了新的reinforcement learning(强化学习的算法),并给该算法带了新的发展。
AlphaGo Zero仅拥有4个TPU,零人类经验,其自我训练的时间仅为3天,自我对弈的棋局数量为490万盘。但它以100:0的战绩击败前辈。
二、Unsupervised Learning 无监督学习
要学习的问题在你学习之间没有固定的答案,希望算法对特定的输入信息进行自动化的学习来达到了解这些数据内部一些固定结构的目的。特点是这些训练样本在训练之前是没有被标定的,没有准确的答案,也没有准确的办法去检测我们的学习是不是对,只能说找到一个比较好的解决方案,不能说找到一个固定标准。 K-means算法。
是否有监督(supervised),就看输入数据是否有标签(label)。输入数据有标签,则为有监督学习,没标签则为无监督学习。
三、 Supervised Learning 有监督学习
学习之前,对这些收集来的数据已经有了特定的答案,希望训练出一种算法,来对将来收集到的数据进行判断
1、SVM知识向量机
分类问题,回归问题
2、 ANN(Artificial Neural Network)
Single-layer perceptron
Multi-layer perceptron
BP neural network
3. Tensorflow (多维数据,张量,在图里流动)
Tensorflow是一个有向图的集合
Placeholder 给定的输入,放输入的地方
Variables 要训练一个神经网络,用来训练的所有的自由参数,要优化的目标
- weight 权重
- biases 偏置
归一化
---------------------------------------------------------------------------------------------
ML Training
keras tensorflow caffe
看图讲故事很有意思
感知,学习,动作。听说 读写(写最难)
语义 RNN
稀疏: 用少量的数据,生成更多的数据
边缘计算,在节点处完成计算, 英伟达 TS1ARM+CUDA,碾压海康的TI SVM多摄象头
AI就是两件事 分类,预测,如果用一个词表示那就是拟合,回归。
是框架:
MXNet --- Amazon AI
TensorFlow --- Google Framework
PyTorch --- Fackbook AI Research
CNTK --- Microsoft
https://www.tensorflow.org/install/install_sources
CUDA驱动,1.4以下的要装8, 1.4以上要装9
cuda_8.0.44
cuda_9.0.176
cudnn-8.0
cudnn-9.0
过拟合: 两张图像去比对,必须一模一样才能......
梯度下降是一个求微分的过程
卷积是一个求积分的过程
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
pip3 install jupyter notebook
python的四种数据类型:
list 允许数据类型不一致 [a,b,c]
dictionary {key:value}
tuple ()
set {val1, val2}
num1 = [1,2,3]
num2 = num1 #浅拷贝
num3 = num2.copy() #深拷贝
hex(id(num1)) = hex(id(num2)) != hex(id(num3))
稀疏:提前提炼出有用的信息,过滤掉冗余的信息,例如人脸检测中只要人脸的数据
desmos可用来画图像
标签: 结果,用来训练的0,1
复用:
saver.save()
saver.restore(sess.ckpt.model_checkpoint_path)
nn.dropout()可以用来解过拟合Overfitting的问题
机器学习数学算法分为四类:
一、线性回归 Linear Regression
已知三个点,求一条直线,用解析几何来做回归,要点数足够多。点数少了欠拟合,点数多了叫过拟合。
三个函数:
1. 激活函数 :(预测函数 )sigmoid是非线性的, relu是线性的
2. 损失函数 :(代价函数)
3. 优化算子 : 大部分时候GradientDescentOptimizer足够了
H(x)是Y的预测值,cost = 对(H(xi) - Yi)的平方求和/N,让这个值最小,就是拟合的过程
ReduceMean()就是干这个的
二、逻辑回归 Logic Regression(人为的设计一个概率值(eg.0.5),把连续的函数变成了二分类 true or false)
交叉商,
信号处理 IIR (冲击响应)FIR (无限冲击响应,反馈模型,当前的输出不仅和当前的输入有关系,还和上一个状态有关系)
当交叉商最的时候,H(x)最接近真实的概率
shape=[None, 2]
数据过多,十万个,要用batch分批
训练集,验证集
hypothesis
predicted
accuracy
三、多分类 Softmax classification (前身是SVM, 森林,决策树......过气了)
损失函数变了,依然是交叉商理论
四、神经网络 Neural Networks
One_Hot = True 只有一个值为1,One_Hot是一种编码 1 = 000001, 2 = 000010
XOR:异或门的例子,不收敛,没有梯度,梯度消失,梯度弥散
核心问题是:用一阶逻辑去表达二阶逻辑,那是不可能的
在神经网络加宽加深的效果来看,结果越来越精细,所以Deep Learning, 也是Wide Learning
CNN:
激活函数变成了卷积CONV
2012 Yann LeCun, Bengio, Hinton
Relu 层: 避免过拟合
池化层: 相邻点之间的关系并不重要,隔几个点之间的关系更重要,是提炼共性,起到了降维的作用
Max Pooling:块中取最大值
降维只有两个地方:1. 调整卷积核的步长 2. 池化层
卷积和池化:用抽象的特征值来分类
4K,图像越高清,能提取出来的特殊值越多
卡尔漫滤波,贝叶斯
LeCun 1998 : LeNet-5
Image,图像
Filter, 卷积核
Stride, 步长
Padding,插值
CNN第一步卷积后变成几块,由卷积核的个数确定,这个可以自己决定,卷积核的值是随机取的,开始的时候预测准确率不高
RNN:
RNN也是CNN,只是把时间当作一维信息考虑进去了
learning_rate = 0.1 学习梯度下降率
epochs = 批次为500
py -3 web.py 起一个web server
语音识别: RNN
图像识别: CNN
目标识别: R-CNN,Fast R-CNN, Faster R-CNN
图像中挖掘语义: CNN +RNN
LSTM: Long Short Term Memory, 是最有代表性的RNN,最新的
激活函数是BasicLSTMCell
损失函数是dynamic_rnn
优化算子是Adam
char-rnn
Tensorboard 用来做可视化窗口
tensorboard --logdir = ./logs/
在chrome中打开: http://juyun:6006
以上是关于Machine Learning的主要内容,如果未能解决你的问题,请参考以下文章