stanford cs231学习笔记(一)

1,先是讲到了机器学习中的kNN算法,然后因为kNN分类器的一些弊端,引入了线性分类器。
kNN算法的三大弊端:
(1),计算量大,当特征比较多时表示性差
(2),训练时耗时少,且计算需求低,反而是对测试数据分类时,计算需求量大。
(3),衡量两幅图像之间的差异时,衡量方式单一,例如L1,L2距离。且仅有的这两种方法效果都不理想。
2,引入线性分类器

把图像的二维矩阵拉成一长条,变成一个向量x。令向量中的每个元素都乘以一个权重系数W,然后再把这些结果加到一起得到某个分类的得分。也就是说,如果有10个类别的话,权重矩阵W就应该有10行。如果x的长度是1000的话,权重矩阵W就应该有1000列。W是一个10x1000的矩阵,即10行1000列。
权重系数矩阵W中的每一行对应了一个种类,比如说第一行对应的是猫的权重系数,那么第一行乘以x后再求和,得到的值就是猫的得分。第二行是人,第二行乘以x后,就能得到对人的打分。依此类推,最终会得到10个类别各自的打分。

上图为一个简化模型,假设图像只有4个像素,他先是被拉伸成一个只有4个元素的向量x。然后乘以权重函数W,因为总共分了3类,所以权重函数共有3行,但权重函数的列数应与输入图像的像素个数相同。最后加上偏置项b,其中图中最右边的向量是“小猫”这张图在每个类别下的打分结果。可以看得出,这个打分结果是错误的,Dog的得分最高。而cat反而得了最低分。后续程序会根据这个打分结果调整W,是的Cat score的得分最高。
3,如何选择正确的W,才能让输入图像在对应类别上打分最高而在其他类型上打低分?答案就是损失函数Loss function,用于衡量正对当前所使用的W矩阵分类的打分结果,有多么的unhappy不满意。



3057

被折叠的 条评论
为什么被折叠?



