当前位置: 首页 > news >正文

北京开发办网站联合年检怎么做网站上

北京开发办网站,联合年检怎么做网站上,山东城乡和住房建设厅官网,wordpress更改固定连接后404本笔记系列以斯坦福大学CS231N课程为大纲#xff0c;海豚浏览器每周组织一次授课和习题答疑。具体时间地点请见微信公众号黑斑马团队(zero_zebra)和QQ群#xff08;142961883#xff09;发布。同时课程通过腾讯课堂#xff08;百纳公开课#xff09;进行视频直播.欢迎参与…本笔记系列以斯坦福大学CS231N课程为大纲海豚浏览器每周组织一次授课和习题答疑。具体时间地点请见微信公众号黑斑马团队(zero_zebra)和QQ群142961883发布。同时课程通过腾讯课堂百纳公开课进行视频直播.欢迎参与学习.在CS231N的第二课k-nearest neighbor这部分中核心就是计算训练集与测试集之元素之间的欧氏距离。课后作业要求从训练集取5000个图像测试集取了500个图像计 算这5000个用于训练的图像与500个用于测试的图像之间的欧氏距离其结果就是一个5000*500的距离矩阵。课后作业总共留了三道关于距离矩阵的计算题分别是由易到难从使用二重循环到不使用循环。特别是不使用循环的方法需要一点数学基础不是特别直观。经过研究《Numpy/Scipy Recipes for Data Science: Computing Nearest Neighbors》之后决定把其中的方法写出来。任务定义给定阶矩阵满足。这里第列向量是维向量。求矩阵使得计算方法 这里提供4种方法需要使用到以下Python库import numpy as np import numpy.linalg as la第一种方法使用两重循环 def compute_squared_EDM_method(X):# determin dimensions of data matrixm,n X.shape# initialize squared EDM DD np.zeros([n, n])# iterate over upper triangle of Dfor i in range(n):for j in range(i1, n):D[i,j] la.norm(X[:, i] - X[:, j])**2D[j,i] D[i,j] #*1 return D由于是计算矩阵自身行向量之间的距离所以结果是一个对称的三角矩阵。注意*1行代码处所做的优化。 在上述方法中我们使用了两层循环因此代码虽不简洁但十分易懂。 第二种方法 在第一种方法中我们使用了numpy的norm这个方法这个方法从数学上讲其计算公式是然后我们又将这个计算结果平方后赋给因此我们实际上是在计算上述运算可以使用点积即矩阵内积来计算D[i,j] np.dot(X[:,i]-X[:,j],(X[:,i]-X[:,j]).T)现在代码变化为def compute_squared_EDM_method2(X):# determin dimensions of data matrixm,n X.shape# initialize squared EDM DD np.zeros([n, n])# iterate over upper triangle of Dfor i in range(n):for j in range(i1, n):d X[:,i] - X[:,j]D[i,j] np.dot(d, d)D[j,i] D[i,j]return D 第三种方法避免循环内的点积运算注意在上面的方法中dot运算被调用了次并且每次进行了次乘积运算和次加法运算。尽管numpy底层可能对点积运算做了优化但这里还是存在可能进行进一步优化。请看下面的数学推导 这里属于格拉姆矩阵中的元素可以通过在循环外计算矩阵在循环内直接引用元素值即可从而在循环内我们只需要做两次加减法运算格拉姆矩阵的求法很简单只需要现在代码变为def compute_squared_EDM_method3(X):# determin dimensions of data matrixm,n X.shape# compute Gram matrixG np.dot(X.T, X)# initialize squared EDM DD np.zeros([n, n])# iterate over upper triangle of Dfor i in range(n):for j in range(i1, n):d X[:,i] - X[:,j]D[i,j] G[i,i] - 2 * G[i,j] G[j,j]D[j,i] D[i,j]return D 第四种方法避免循环假设距离矩阵可以表示为与公式进行对比有这里H中第i行的每一个元素取值都为也就是H的每一列都对应着格拉姆矩阵的对角阵因此我们可以用下面的代码来计算HH np.tile(np.diag(G), (n,1)) 此外由于,所以最终距离矩阵可以计算为现在代码不再需要循环了def compute_squared_EDM_method4(x):m,n X.shapeG np.dot(X.T, X)H np.tile(np.diag(G), (n,1))return H H.T - 2*G扩展任意行列同秩矩阵间的距离矩阵计算上述方法解决了矩阵自身列向量之间的距离矩阵运算问题。对CS231N第二讲的课程作业来说需要求解的问题是给定训练矩阵A为阶矩阵。这里5000 代表5000幅带标签的图3072是其各像素在RGB三个通道下的取值数。给定测试集矩阵B为阶矩阵。求矩阵B的各行与矩阵A的各行的距离即两幅图的差异矩阵这个矩阵是一个的矩阵。更一般地这个问题可以描述如下给定矩阵A为阶矩阵矩阵B为阶矩阵求矩阵B的任意行向量与矩阵A的任意行向量的距离矩阵。这个矩阵的数学表达式为(a, b均为行向量 为方便讨论我们将上述各项分别记为H, M, N, K即显然上述公式是无法进行运算的因为除了M与D外其它矩阵的秩各不相同。所以我们要回到前一个数学表达式上。H对D的贡献是对于D的每一行都加上K对于D的贡献是对于D的每一列都加上M和N互为转置矩阵。即对,要减去矩阵元素而这个元素就是因此可以在numpy中运用broadcasting机制通过矩阵与行向量、列向量的运算传播机制broadcasting)来完成计算def compute_distances_no_loops(A, B):m np.shape(A)[0]n np.shape(B)[0]dists np.zeros((m, n)) # 求得矩阵M为 m*n维M np.dot(A, B.T)# 对于H,我们只需要A.A^T的对角线元素,下面的方法高效求解(只计算对角线元素)# 结果H为m维行向量H np.square(A).sum(axis 1)#结果K为n维行向量.要将其元素运用到矩阵M的每一列,需要将其转置为行向量K np.square(B).sum(axis 1)#H对M在y轴方向上传播,即H加和到M上的第一行,K对M在x轴方向上传播,即K加和到M上的每一列D np.sqrt(-2*MHnp.matrix(K).T)return D 谈谈Numpy的broadcasting在numpy中当一个数与矩阵相加时实际上是将矩阵中的每一个元素都加上这个数。注意在矩阵代数里这种相加是不允许的。但实际应用中又很常见所以Numpy就扩展了这个定义允许一个实数矩阵相加这就是broadcasting。broadcasting在工程中是非常实用的。在第四种方法中没有使用 broadcasting机制它是先取格拉姆矩阵的对角线元素是n维列向量再通过np.tile运算将其扩展为一个的矩阵然后才能完成相加的操作。而在扩展一节中我们引入了行方向上axis 1)的传播与K的相加也引入了列方向上axis 0)的传播与H的相加。正因为有了这个传播我们无须象第四种方法那样显式地生成一个矩阵。下面是broadcasting的规则让所有输入数组都向其中shape最长的数组看齐shape中不足的部分都通过在前面加1补齐输出数组的shape是输入数组shape的各个轴上的最大值如果输入数组的某个轴和输出数组的对应轴的长度相同或者其长度为1时这个数组能够用来计算否则出错当输入数组的某个轴的长度为1时沿着此轴运算时都用此轴上的第一组值。这里看一个例子C np.arange(0,3) D np.arange(0, 40, 10).reshape(-1,1)这样生成的C和D分别是3维行向量和4*1阶矩阵。 C array([0, 1, 2])D array([[ 0],[10],[20],[30]]) 如果计算CD结果如何 让输入数组向shape最长维度最高的数组看齐shape中不足的部分都通过在前面加1补齐。这里D是二维数组所以C被reshape为 array([[0,1,2]])。根据规则2确定运算的输出数组维度为4*3。C与D都有一个轴同秩所以可以计算。将D沿 axis 0的方向即列方向从上到下逐一加上C的元素。依次得到 [0,1,2][10,11,12]...[30,31,32]课程导航上一课斯坦福CS231N课程学习笔记二.理解CIFAR-10图像数据库下一课
http://wiki.neutronadmin.com/news/332622/

相关文章:

  • 祥云平台建站wordpress标签的作用
  • 谷歌网站入口设计网站注意哪些问题
  • 网站建设夜猫微转app是用网站做的吗
  • 快速网站建设哪家好如何去做网络营销
  • 区网站开发语言顺德网站建设信息
  • 北京免费网站开发维护网站跳出率多少
  • 泰安做网站建设的公司哪家好请简述网站开发的流程图
  • 微信怎么做链接网站网站防站
  • 做网站用哪个预装系统自己做的网站怎么放到网上去
  • 企业网站推广的一般策略盗版视频网站建设费用
  • 青岛市北建设集团网站网络运营seo是什么
  • 国际论坛网站模板不用服务器做网站
  • 门户网站建设与开发正规网站优化推广
  • 商城网站公司淘宝网店怎么注册开店
  • 设计网站评分标准做参茸产品的网站
  • 企业网站建设用什么wordpress 微信订阅号
  • 一个备案号可以用几个网站新人写手适合哪个平台
  • 云图书馆平台网站建设方案网站建设平台策划
  • 做一网站要什么软件有哪些建设网站需要展示什么
  • 免费销售网站模板下载安装51网站空间相册在哪里
  • 云南建设局网站首页wordpress签到功能
  • 有哪些做海报的网站模板建站多少钱
  • 河北省企业网站建设公司青岛网站建设首选营销吧系统
  • 金华网站建设网站西凤酒网站建设
  • 返利网站建设服务thinkphp网站开发服务器
  • 枣庄网站制作公司搭建网站大概多少钱
  • 泉州企业建站模板扁平化网站模板下载
  • 杞县网站建设常州城投建设招标网站
  • 衡水微网站制作怎么做苏州手机网站建设费用
  • 电脑 手机 微信网站开发专业移动网站建设商