1.Numpy
vstack hstack dstack
作用:将几个小数组合并成一个大的数组
区别: 小数组中的元素在大数组中的排列顺序是不同的
2.独热编码 one-hot
作为机器学习算法的输入,我们需要对其进行特征数字化
利用0和1表示一些参数
数据会变得非常稀疏
在一定程度上也扩充了特征
比如: 性别 表示一个特征——————>(onehot) 变成男 女两个特征可以用1表示男 女表示女
3.to_catergorical
keras中提供的一个工具方法
将类别向量转换为二进制(只有0和1)的矩阵类型,其表现为将原有的类别向量转换成独热编码的形式
4.欧式空间
几何空间的度量在线性空间推广的结果
欧式空间是一个有内积的线性空间
引入内积的目的是:计算两点间的距离和夹角
5.时间序列
按照一定的时间间隔排列的一组数据,从中可以发现和揭示现象变化的规律
6.epoch
一个epoch就是将所有的训练样本训练一次的过程
即 将所有的数据送入网络中,完成了一次前向计算+反向传播的过程
使用单个epoch更新权重是不够的,随着epoch数量的增加,权重更新迭代的次数会增加,曲线从最开始的不拟合状态,进入优化拟合状态,最终进入过拟合。
epoch的大小与数据集的多样化程度有关,多样化程度越强,epoch越大
将所有的数据迭代训练一次是不够的,需要反复多从才能拟合收敛,所以在实际训练时,i将所有的数据分成多个batch,每次送入一部分数据
7.batchsize
每个batch中,训练样本的数量
8.iterations
完成一次epoch需要的batch的个数
iterations = batch numbers = 数据总数/batch_size
9.verbose参数
verbose 日志显示
verbose = 0 : 在控制台没有任何输出
verbose = 1 : 显示进度条
verbose = 2 : 为每个epoch输出一行记录
10.张量tensor
用来表示广泛的数据类型
张量的阶数也叫维度
0阶张量: 标量 是一个数
1阶张量: 向量 一组 有序排列的数
2阶张量: 矩阵 一组向量有序的排列
3阶张量: 立方体 一组矩阵上下有序的排列起来
关于维度:
有一个10长度的列表
横向看有10个数字: 可以说是10维度
纵向看有1个数字: 可以说是1维度
11.梯度下降
梯度下降是一种思想
从山顶找一条最短的路走到山脚最低的地方,如何选择方向?
随机选择一个方向,然后每次迈步都选择最陡的方向,直到这个方向上能达到的最低点
作用:
机器学习算法中,有时候需要对原始的模型构建损失函数,然后通过优化算法对损失函数进行优化,以便找到最优的参数,使得损失函数的值最小。
优缺点:
效率高
求解的是局部最优解,即方向选择的问题,得到的结果不一定是全局最优
还有步长的选择:
过小的步长使得函数收敛速度慢
过大又容易找不到最优解
梯度下降的变形:BGD(对整个数据集)
MBGD(小批量数据集)
SGD(mini_MBGD, batch_size=1)