建立一个基类:
强化学习和生成式对抗网络
强化学习:机器学习分支;自行解决决策问题,并且能够强化连续决策;
组成部分:
1、代理;
2、环境;
3、行动;
4、奖励;
学习任务:
1、篇幅型;
有间断
2、永久型;
没有间断
学习方式:
value baed
写出一个value function,这个value function可以告诉我们每一步的未来rewards会有多大;
policy based
在这里我们希望最优化一个policy function而不是一个value funtion;
有两种policy可以选择:
Deterministic:相同state下,永远给出相同的action。简单来讲就是每次在同样的情况下作出一样的选择;
Stochastic:给出一个所有action的可能性的distribution,意思是选择具有随机性,在某些对抗性游戏中,随机决策是必须的;
GAN
生成模型;判别模型;
分类:
1、根据当前数据得到一个数据分布:数据回归;
2、根据当前的数据生成一个新的图片;
用途:
1、补缺数据;
2、数据是否符合生成的规律;
3、
最大似然机构:
生成对抗模型:
要求:必须是可导的:
DCGAN:反卷积,
由低维到达高维的;
风格转移:
循环机构,
使用空洞卷积代替空间金字塔
一、计算机视觉四种基本任务:
1、图像分类;
2、图像定位;
3、物体检测;
4、物体分割;
背后的机器学习任务:数据分类、数据回归;
实际上大部分任务都是两个:
数据分类:数据离散;
数据回归:数据是连续的;
二、经典方法:
Deformable parts model:
什么是NMS:一种post-processing方式;应用在所有目标检测里,用来删除多余的检测结果;
做法:把所有的检测结果按照分值从高到低排序,保留最高分数的box,那么保留和他距离上最近的box;
hard mining:在一个1mini-batch里,能让classifier混淆的sample,标记为hard example,用到下一轮的训练中;
深度学习的快速回顾:
n一般为2、4,一般2就已经非常大了;
λ为正则化参数,防止过拟合;
深度学习三要素:
1、首先关注模型:用什么结构;
2、在什么数据集上做?实验效果如何;
3、算法:
a、训练过程:loss,sampling,梯度;
b、测试过程:muitl-scale,NMS;
3、系列工作
RCNN\Fast-RCNN\Faster-RCNN详细介绍;
目标分类的主要步骤:
1、先产生一些可能含有物体的目标框;
2、在给定的目标框里进行分类;
如何产目标框:
自下而上的一种生成方法:基于SLIC
算法,仙剑个图像分割成很多小的区域,根据小区域之间的相似程度进行融合,最后结合各个尺度上的结果,产生很多region proposals;
也可以通过深度学习来生成目标框;(主要用于faster ——RCNN中的目标框);
Rcnn家族
1、产生一个框:
感受野
某一层的计算节点对应原图的计算范围
SIFT特征点的结构
1、特征点的坐标位置;
2、特征点的描述;
步骤:
1、特征提取;
2、取特征点的聚类中心;
对于特征点较多,那么就可以将特征点取中心点,然后后对每个聚类中心点进行·对比;
LSH:
随机投影
深度学习——卷积神经网络
卷积原始输入:图像
卷积模板:卷积核;
检验相似性和相关性;
神经网络的组成:
1、输入层;
2、卷积层;
特征提取,要计算出各个层之间的参数个数以及层与层之间的输入输出;
3、非线性变换层;
4、池化层;
最大池化层、平均池化层
5、输出层;
INPUT-->[[(CONV+RELU)*n--->POOL]*M--->[FC--->RELU]*K--->FC
避免过拟合:迁移学习
迁移学习:将其他网络的前几层网络,只训练后面的基层网络;
学习过程中学习率要比较小;
什么时候用:
1、当两个任务较为相近时;
2、当前的训练数据较少的时候;
数据集:交叉训练;
调参的主要参考
损失值;
准确率
调参对象:
学习率;
batchsize:调到GPU刚刚够用;
计算机视觉——实践加强
聚类算法:
相似度和距离负相关:
K-means:
1、选出一个k,作为k'个聚类中心(随机选出聚类中心),为了能够准确选择,那么可能胡i多次选择取得结果最优的;
2、把么一个数据分配成最近的中心
; 距离计算:欧氏距离;计算角度
3、寻找数据的新的质心;
4、重复2——3部;
达到收敛标准:
到达循环次数;
标签不再改变;
聚类中心不断发生改变;
k值的确定:
人工指定
高斯权重:
高斯滤波,
均值滤波器:
中值滤波
均值滤波
总结:通过考虑到周围邻居的位置进行滤波操作;
用途:去噪、增加对比度、寻找特征点
项目:模板匹配;
Template matching
图片拼接:
1、寻找角点;使用Harris角点;
Harris有一个尺度不变性、旋转不变性、
2、两个图片必须使用共同的特征寻找,计算两个向量;
3、建立SIFT描述;
4、匹配SIFT角点;
5、将图片进行转换;
博文:图像局部特征点检测算法
作业:读入手写字符
tu'xiang'pin'j
深度学习
神经网络和BP算法
为什么会提出神经网络解决问题
神经网络:大量的结构简单、功能相近的神经元节点按一定的体系架构连接成的网状结构——模拟大脑结构
作用:
分类
模式识别
连续值预测
总的来说就是建立一种输入输出的映射关系;
人工神经网络
神经元:输入向量、权重、偏执
一般浅层网络是3~5层
前馈神经网络:
同一层的神经元之间没有相互连接,层间信息的传送只沿着一个方向进行;
学习的过程实际上是对权重的更改
目标:输出和实际输出越接近越好
梯度下降:
随机梯度下降算法:梯度下降
在传入模型的开始,首先要对数据预处理、特征提取、特征选择、再到推理、预测或者识别
from pyplot as plt 重命名,简化
temperature是气温, 100度很吓人啦 XD
机器学习:使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可以在性能上不断学习和改进;通过参数优化的学习模型,能够用于预测相关问题的输出。(强调学习 而不是专家系统)
有监督
无监督
强化学习(带反馈)
机器学习:数据清洗/特征选择;确定算法模型/参数优化;结果预测
不能解决:大数据存储/并行计算;做一个机器人
目标函数取最小称 损失函数
数据收集--->数据清洗----->特征工程----->数据建模
hessian矩阵 对称--》4>0 二阶行列式>0----》正定---->凸函数
numpy读取数据
np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
转置t.T()
t1.reshape(1,24) #修改数组形状
t1.flatten() #展开 二维降成一维
t1+2 #数组每个值都加2 (广播机制)
0除以0得到nan(不是一个数字),其他数字除以0得到inf(无穷的意思)
t6+t5 #对应位置的数据计算
matplotlib
plt.figure(figsize=(20,8),dpi=80)
plt.savefig('./sig.png')
plt.xticks(x) #x的每个值
plt.xticks((1,26))#调整步长
matplotlib
1.什么是matplotlib
主要做数据可视化,模仿matlab
安装conda install matplotlib
2.matplotlib基本要点
axis轴,指的是x或y轴
from matplotlib import pyplot as plt
x= range(2,26,2)
y=[15,13,14.5,17,20,25,26,26,24,22,18,15]
plt.plot(x,y)
plt.show()
提出问题
准备数据(数据清洗)
分析数据
获得结论
成果可视化