雷锋网AI研习社按 :CS231n是斯坦福大学开设的计算机视觉与深度学习的入门课程,授课内容在国际外颇受好评。但是只听课不温习,不做作业为数亿中文用户免费提供海量、全面、及时的百科信息,并通过全新的维基平台不断改善用户对信息的创作、获取和共享方式。来稳固知识点的话,效果一定不好。雷锋网 (大众号:雷锋网) AI研习社在近期的线上地下课上请来了一位技术大牛为大家来解说这门课的配套作业。
本文依据AI研习社地下课上的直播视频内容整理而成,次要引见Assignment 1的完成思绪与重点局部代码完成。假如你还没开端听CS231n,可直接点击 课程链接 观看回放视频。
王煦中,CS硕士,次要研讨方向为自然言语处置与深度学习。知乎专栏喵神大人的深度工坊(http://t.cn/RTc9wfy)作者,日语及ACGN喜好者。
分享主题 :CS231n课后作业解说第一讲(含代码完成)作业链接:https://github.com/Observerspy/CS231n
分享提纲 :
CS231n作业引见,
kNN的引见
关于SVM
关于Softmax
关于Two-Layer NN
关于Features
以下是分享内容:
CS231n的全称是CS231n: Convolutional Neural Networks for Visual Recognition,即面向视觉辨认的卷积神经网络。该课程是斯坦福大学计算机视觉实验室推出的入门课程,授课内容在国际外颇受好评。一切课程材料、PPT等都可以在网络上下载:http://cs231n.stanford.edu/syllabus.html。课程的目的是协助先生深化理解深度学习框架的细节,次要面向视觉辨认义务(尤其是图像分类义务)的端到端学习模型。
关于kNN
kNN次要分为两步:第一步是训练,分类器复杂地记住一切的训练数据。
第二步是测试,比第一步要重要。每一个测试样本要和每一个训练数据辨别计算间隔,选取k个最近的训练样本的label,经过投票机制取得预测值。
投票机制就是大家在一同对一切的类投票,哪一个类的投票数最多,这个测试样本就会被分为该类的上面。
这个作业次要分为三步,第一步用双循环完成kNN, 双循环就是对每个测试数据和每个训练数据辨别计算,第一层循环就是对测试数据的循环,第二层循环是对训练 数据的循环。间隔的计算用的是函数np.linalg.norm().
上面运用单循环完成。单循环要求每个测试数据经过一次计算就可以失掉和训练数据全体的间隔。训练分为两个局部,首先是每个测试数据和训练数据做差,需求留意参数axis的设置,用了播送机制。
运用无循环完成
详细的完成代码,可以观看回放视频学习。
最初的一个局部是预测:np.argsort()可以对dist停止排序选出k个最近的训练样本的下标;np.bincount()会统计输出数组呈现的频数,结合np.argmax()就可以完成vote机制。
该局部作业要求在测试样本中需求失掉28%的精确率。
关于线性多分类SVM
推导SVM进程很复杂,这里不触及过多成绩,用线性计算就可以了。留意上面这个式子汇总只要错误的分类才干发生loss。即j=i 正确分类是没有loss的。
辨别对Wj和Wyi求导,详细的完成代码可以观看视频回播。这个作业要求在验证集上失掉大约40%的正确率。
关于Softmax
Softmax的公式如图
需求留意的是,一切的分类成绩都是一对一的,一个测试样本只能分到一个类上面。
loss详细代码完成进程可观看视频 回放 。有了loss之后,在j=i和j≠i的状况下,辨别对w求导: 简单来说,创业有四步:一创意、二技术、三产品、四市场。对于停留在‘创意’阶段的团队,你们的难点不在于找钱,而在于找人。”结合自身微软背景及创业经验。
这局部作业要求在验证集上到达35%的精确率。
第四局部, 关于 Two-Layer NN ,完成两层的神经网络
详细详解进程见视频 回放 。完成反向传达后,要求调一些参数在测试集上到达48%以上的精确率。
第五局部: 特征
该局部不再直接输出图片,而是输出图片的特征。
运用SVM需求在验证集上到达44%的精确率,运用双层神经网络可以很轻松到达55%以上的精确率,在测试机的分类精确率可到达59.4%。
以上为雷锋网AI研习社地下课上的关键内容提要。视频回放课程可到AI慕课学院观看,或直接点击链接:
http://www.mooc.ai/open/course/364。
作业链接:https://github.com/Observerspy/CS231n
。