美文网首页
从机器学习到深度学习(一):线性分类、距离/损失函数定义

从机器学习到深度学习(一):线性分类、距离/损失函数定义

作者: 马尔克ov | 来源:发表于2017-07-23 08:46 被阅读1006次

    一.K近邻图像分类

    1. 什么是k近邻

    想知道某一个点属于哪个类别?找跟他距离最近的k个点,哪个类别多他就属于哪个类。

    KNN

    2. 如何定义举例?

    距离

    用距离,除了课程中见到的L1, L2距离, 更多距离简介:漫谈:机器学习中距离和相似性度量方法


    二.超参数与交叉验证

    1. 什么是超参数?

    根据具体情况,可以变化的参数。比如k近邻中的k,再比如直线y=kx+b中的k和b。

    2. 如何确定超参数?

    交叉验证:把数据集平均分成N份, N-1份训练, 1份测试,重复N次


    三. k近邻的缺点及改进

    1. 效果不好的重要原因

    如果背景很大,要分类的内容(比如一只猫)很小,knn就会更关注更大的背景。

    2. 线性分类

    二维平面上y=kx+b用k和b控制了x和y的关系, yxkb都是一个数。

    扩展到N维空间,矩阵W和向量b控制了X向量y向量的关系。

    多维线性模型 线性分类

    参考资料:An intro to linear classification with Python

    3. 输出y是个向量,那结果是哪个分类呢?

    一个yi表示一个分类, 哪个大就算哪个

    4. 如何找到W和b?

    定义损失函数: 损失函数的值越大,表示偏离目标越远

    所以我们要做的事情:将损失函数最小化(找到使得损失函数最小的超参数)。

    四. 损失函数

    1. 跑个分看看分类分的好不好

    比如这种情况,明明图像是猫,但是狗的分数最高。

    下面我们就需要定义一个损失函数,调节超参数, 来使得分类分的更准确。

    2. SVM通俗理解

    找到一个平面把点分成两类,并且加入两个重要假设

    A. 如果分类正确,我们认为他们都是一样对的, 比如不认为1比2分的更好。

    B. 如果分类错误,我们认为差的越多犯的错误越大

    SVM图像化

    3. SVM损失函数

    SVM损失函数

    只要对了就是0,不管离的远近;越错就会使得后面的sj−syi+Δ越大。

    Δ是增加了一个更严格的条件,只对了“一点点”还不够,至少要多Δ这么多才满意。

    delta的解释

    更多损失函数拓展:机器学习中的常见问题——损失函数

    相关文章

      网友评论

          本文标题:从机器学习到深度学习(一):线性分类、距离/损失函数定义

          本文链接:https://www.haomeiwen.com/subject/gznqkxtx.html