美文网首页
三、线性分类器

三、线性分类器

作者: 文均 | 来源:发表于2019-01-18 13:15 被阅读0次

    3.1 线性分类器的数学定义

    线性分类器:

    F(x, W) = Wx

    其中,x代表图片向量(将二维图片转为一维向量),维度为(784, 1)W为分类器的参数,维度为(10, 784),输出值为(10, 1)向量,表示图片属于10类的可能性大小,数值最大的一类作为预测结果。

    如果考虑偏置,公式为:

    F(x, W) = Wx + b

    其中b的维度是(10, 1)

    下图是一个例子:

    线性分类器1.jpg

    后面的分析一般忽略偏置b

    在限定模型为线性分类器之后,分类器就可以完全由其权值W来表征了,也就是说W就是分类器,分类器就是W

    3.2 权值参数的解释及可视化

    参数W有10行,对应目标标签的10个类别,可以将参数W的每一行看作对应类别的过滤器。该过滤器将图片数据转为一个单一值,代表图片属于该类别的分数大小。如下图所示:

    线性分类器2.jpg

    也可将W每一行的784个数值转换为(28, 28)的二维矩阵,把这一行权重当做一张图片可视化出来。就可以看到这一行权重所代表的的过滤器是什么样子(图片的亮暗表示权重值的大小)。W有10行,所以可以画出10张权值图出来。

    3.3 概率归一化

    分类器的输出是(10, 1)向量,向量里的元素都是不限范围的实数值。下面将其归一化为概率值。

    归一化函数要满足以下条件:

    1. 目标取值范围为[0, 1],且+\infty映射为1,-\infty映射为0
    2. 映射后的值总和为1
    3. 映射后的值与原值成正比,且各个值的大小关系保持不变

    Softmax函数满足以上条件:

    P(Y=k) = \frac{e^{s_k}}{\sum_j{e^{s_j}}}

    其中,s_1, s_2, ..., s_{10} 是线性分类器的10个输出值,P(Y=k)是样本被预测为第k类的概率。

    3.4 模型评估:损失值

    给定一个分类器(即给定一组权值W),如何评估其好坏?可以用损失值来代表分类器分错的程度。

    损失值函数是权值W到实数的一个映射,它要满足两个特性:

    1. 预测错了类别的样本越多,损失值越大
    2. 样本预测错得越离谱,损失值越大

    分类器的输出值做了概率归一化后,损失值应满足:

    1. 预测为正确类别的概率值为0时,损失值为无穷大
    2. 预测为正确类别的概率值越大,损失值越小
    3. 预测为正确类别的概率值为1时,损失值为最小值0

    -log函数满足以上条件,可以将损失值定义为:

    L_i = -\log{P(Y = y_i)}

    其中,y_i为第i个样本的正确类别,P(Y=y_i)为第i个样本被预测为正确类别的概率,L_i为分类器在第i个样本上的损失值。

    损失值计算流程图:

    损失值流程图.jpg

    3.5 模型优化:如何找到损失值最小的权值

    方法一:随机搜索

    随机生成权值W,例如随机1000遍,取结果最好的。

    方法二:梯度下降

    梯度计算:导数的负数

    \frac{df(x)}{dx} = \lim_{h \to 0}{\frac{f(x+h) - f(x)}{h}}

    所以给定权值W,计算其损失值,再对W的各元素加微小增量,得新的损失

    相关文章

      网友评论

          本文标题:三、线性分类器

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