人工智能——深度学习

    在当今大数据时代,人工智能掀起一股热潮。人工智能,是研究、开发用于模拟、延申和扩展人的智能的理论、方法、技术以及应用系统的一门新的技术科学。其中机器学习与深度学习尤为重要。刘涛-深度学习(部分基础知识) - 图1

    深度学习:
    输入大量数据库,机器学习

    计算机视觉相关:
    图像存储:在计算中,一张图片被表示成三维数组的形式,数组中每个元素就是一个像素点。
    相关套路:1.收集数据并给定标签。2.训练一个分类器。3。测试,评估

    k近邻进行图像分类:
    1. 计算已知类别数据集中的点与当前点的距离
    2. 按照距离依次排序
    3. 选取与当前点距离最小的k个点
    4. 确当前k个点所在类别的出现概率
    5. 返回前K个点出现频率最高的类别作为当前点预测分类。

    如何计算:d1( I1-I2)=刘涛-深度学习(部分基础知识) - 图2

    超参数与交叉验证:

    参数(parameters)/模型参数:由模型通过学习得到的变量,比如权重刘涛-深度学习(部分基础知识) - 图3和偏置刘涛-深度学习(部分基础知识) - 图4

    超参数(hyperparameters)/算法参数: 根据经验进行设定,影响到权重刘涛-深度学习(部分基础知识) - 图5和偏置刘涛-深度学习(部分基础知识) - 图6的大小,比如迭代次数、隐藏层的层数、每层神经元的个数、学习速率等

    交叉验证其实就是为了检查模型的泛化行和稳定性,让模型的输出更加可靠。

    因为当我们只将训练数据划分一次时,有可能划分的不好,所以模型的结果会有偏差,不可靠。所以,我们可以使用交叉验证。经常使用的是k-fold交叉验证,将数据划分k份,每次用一份做为验证集,其他的k-1份作为训练集来训练k个模型,然后对多个模型的结果取均值就是这个模型的输出。同时,我们还会看一下k的模型的具体输出值,看一下波动是否很大。在对分类任务进行交叉验证时,还要注意划分是样本类别的分布。python里面有sklearn.model_selection.StratifiedKFold可以处理分类任务的交叉验证。如果用k-fold划分,就有可能训练集和测试集的结果相差很大。因为有可能划分时,有一个块儿里面根本就没有某一类。
    交叉验证划分训练集只是为了验证模型的稳定性,并没有说要选择里面的某一个模型。最后,还是要用全部的训练数据去训练模型,然后得出模型的参数。

    线性分类:f(xi,w,b)=W xi+b;