您现在的位置:首页 > 教案格式 > 正文

斯坦福CS231N课程学习笔记(一).课程简介与准备(2)

2020-11-15 01:02 网络整理 教案网

注意此处引用的JS文件是convnet.js,所以你必须在与本HTML相同的位置处保存一份从Github上下载的convnet.js.

现在运行命令:

python -m SimpleHTTPServer 8000

在浏览器中开启localhost:8000,如果发现一串随机数在不停跳动,说明部署成功了。这个简单的demo基本上不包括任何有用的内容,但我们前面必须用到它。现在你可以借助它来观察convnetjs的对象封装,并对Vol, Net等组件的代码进行阅读跟调试。

基础数学知识

高斯分布,又称正态分布。可以使用Box-Muller方法来生成一个符合高斯分布的随机数。这个方式的核心是,如果在值域(0, 1]内有两个独立同分布的数组U,V, 那么可用下列两个等式之一生成服从高斯分布的随机变量Z:

或者,这里满足:

参考实现代码如下(引用到Karpathy的ConvNetJs):

var gaussRandom = function() {
    if(return_v) { 
      return_v = false;
      return v_val; 
    }
    var u = 2*Math.random()-1;
    var v = 2*Math.random()-1;
    var r = u*u + v*v;
    if(r == 0 || r > 1) return gaussRandom();
    var c = Math.sqrt(-2*Math.log(r)/r);
    v_val = v*c; // cache this
    return_v = true;
    return u*c;
  }

这个随机数可以借助numpy生成,代码是:

import numpy as np
np.random.normal()

现在我们来检测一下它生成的随机数是否真的是正态分布:

import matplotlib.pyplot as plt
import numpy as np
a = []
for i in range(50000):
    a.append(np.random.normal())
plt.hist(a, 10000)
plt.show()

矩阵相关知识

讲课课件笔记格式_讲课课件笔记格式

矩阵乘法。如果A是矩阵和B是矩阵,则A可以乘以B,即。在numpy里,矩阵的乘法是:

b = a * a
#or
c = np.dot(a, a)

转置。在python中使用以下的代码:

A = np.array([[1,2,3],[4,5,6],[7,8,9]])
print A.T

行列式

讲课课件笔记格式

讲课课件笔记格式

在numpy里,计算行列式的方式是:

import numpy as np
A = np.array([[1, 2, 3], [4, 5,6], [7,8,9]])
np.linalg.det(A)

代数余子式

讲课课件笔记格式

伴随矩阵

讲课课件笔记格式

在python中求伴随矩阵()

A = np.array([[1,2,3], [4,5,6], [7,8,9]])
print np.linalg.inv(A)*np.linalg.det(A)
[[ -3.   6.  -3.]
 [  6. -12.   6.]
 [ -3.   6.  -3.]]

逆矩阵()

在python中求矩阵的逆:

import numpy as np
A = np.array([[1, 2, 3], [4, 5, 6], [7,8,9]])
print np.linalg.inv(A)

讲课课件笔记格式

讲课课件笔记格式_讲课课件笔记格式

import numpy as np
A = np.array([[1, 2, 3], [4, 5, 6], [7,8,9]])
print np.linalg.trace(A)

特征值和特征向量

讲课课件笔记格式

在python中求特征值和特征向量

import numpy as np
x = numpy.array([[1, 0, 0], [0, 2,0], [0, 0,3]])
a,b = numpy.linalg.eig(x)
print a, b

计算机视觉简介

请见课程课件。这部分CS231N主页未提供任何教学笔记和讲座视频。所以本笔记以下内容完全是基于个人理解,并跳过了这些计算机视觉这门学科的发展史上的内容。

计算机视觉发展到现阶段讲课课件笔记格式,就是机器学习在可视化数据上的应用。它与数字图像处理、计算图形学等是相邻学科。见图示:

讲课课件笔记格式

计算机视觉,就是让计算机可理解它所处理的图像内容,1966年,图灵奖得主Minksy给出以下描述:

讲课课件笔记格式

然而半个世纪过去了, 我们仍然很难说完全缓解了这一难题。在本课程授课者之一的Karpathy的博客中有一篇文章: The state of Computer Vision and AI: we are really, really far away. 这篇文章里有一张美国总理奥巴马的图片:

讲课课件笔记格式

这篇文章列出了近十个计算机视觉理解这张照片的难点。

其它

百纳(武汉)信息技术有限公司在武汉组织CS231N线下学习课堂,并借助QQ群(142961883)和腾讯课堂向不能到现场的同事进行直播。每周组织一次讲座,具体学习时间地点请见微信公众号黑斑马团队(zero_zebra)及QQ群发布。课程学习中的相关知识点和笔记通过公众号、知乎专栏发布。

本课程也可以参考CS231N的在线资料及视频来自学。我们组织的课程学习将额外提供:

很多人需要良好的学习环境能够更有效率地学习。本课程通过组织大家集体学习,相互激励和监督,提供各类方式地交流互助,使得学习最有效率。原课程录像是英语的,且个别课时不全。我们讲课全程使用英文,并且会按照学习者的程度不同,补充必要的预备知识。提供对作业题的解答跟讨论,一些工具软件在使用中的困难帮助等等。对课程模式的宏观把握,以便于大家入门,和依据自己的实际状况补充预备知识。

关于百纳(武汉)

百纳(武汉)信息技术有限公司(以下简称上海百纳)成立于2010年。武汉百纳是北京移动互联网行业的领先企业,公司致力于自主创新,以优异的行业前瞻力跟卓越的技术创新力为借助,研发了知名的海豚浏览器(2015年全球用户达到2亿),先后得到红杉资本、经纬创投、高通及畅游的战略投资。

讲课课件笔记格式

公司现面向中国招聘计算机视觉及虚拟现实项目相关人才,有意者请向recruiting@bainainfo.com投递简历。

JD请看这里。