首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Andrew Ng 机器学习】Week 1(一):基本概念和线代基础

0x00 前言 第一周主要讲了四部分内容: 机器学习简介 单变量线性回归的模型和代价函数 单变量线性回归的的梯度下降 线代基础 由于篇幅会比较长,后续的笔记都会按照一些主题将每周的内容分拆成几篇笔记。...二、监督学习 监督式学习中,我们得到了一个数据集,并且已经知道我们的正确输出应该是什么样子,并且认为输入和输出之间存在关系。 监督学习问题分为“回归”和“分类”。...在回归问题中,我们试图预测连续输出中的结果,这意味着我们试图将输入变量映射到某个连续函数。 在分类问题中,我们试图预测离散输出中的结果。换句话说,我们试图将输入变量映射到离散类别。...三、无监督学习 在无监督学习中,我们能够很少或根本不知道我们的结果应该是什么样子。 聚类就是无监督学习。比如说新闻聚类。 0x02 线代基础 基础内容不详细记录,只记几个小点。...一、基本概念 Scalar:标量,就是一个数值 Verctor:n x 1的矩阵 Matrix:矩阵 Identity Matrix:单位矩阵,对角线上都为1 二、运算 矩阵相乘: ? 矩阵转置: ?

44320

斜投影矩阵的性质_锥体体积怎么推导

上图是裁剪空间中左右、远近裁剪平面的法线,上下的屏幕在表格中。 讨论下平面变换方程: 我们知道法线变换矩阵是不能用M矩阵直接变化的,而是通过M的逆矩阵的转置矩阵进行变换。...而同样我们知道了,NDC的空间中的六个面的方程了,那么则存在如下的关系: M矩阵的逆矩阵的转置矩阵,变换透视空间的平面,就等于了NDC空间的平面方程了。...等式如下: M逆再转置*透视空间平面=NDC空间的平面 所以透视空间的平面等于如下: 透视空间平面=(M逆再转置再逆)NDC空间的平面 也就是: 透视空间平面=M转置NDC空间的平面 所以:...post=522 //关于裁剪空间写的比较好的文章 unity里面的摄像机透视投影矩阵输出: 由之前的博客可以知道unity使用的是opengl的投射投影矩阵,将其z映射到-1到1,所以投影矩阵为...: 下面,介绍如何求的l,r,t,b。

46020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    对深度可分离卷积、分组卷积、扩张卷积、转置卷积(反卷积)的理解

    因为输出数据的改变,相应的,卷积核也需要做出同样的改变。即每组中卷积核的深度也就变成了(C1/g),而卷积核的大小是不需要改变的,此时每组的卷积核的个数就变成了(C2/g)个,而不是原来的C2了。...转置卷积和反卷积的区别 那什么是反卷积?从字面上理解就是卷积的逆过程。值得注意的反卷积虽然存在,但是在深度学习中并不常用。而转置卷积虽然又名反卷积,却不是真正意义上的反卷积。...例子 由于上面只是理论的说明了转置卷积的目的,而并没有说明如何由卷积之后的输出重建输入。下面我们通过一个例子来说明感受下。...当我们把卷积的结果拿来做输入,此时A:2×2,reshape之后为1×4,B的转置为4×9,那么A*B=C=1×9,注意此时求得的C,我们就认为它是卷积之前的输入了,虽然存在偏差。...但即使不知道这个矩阵,转置卷积的具体工作也应该能够明白的。

    3.5K20

    python中矩阵的转置怎么写_Python 矩阵转置的几种方法小结

    #Python的matrix转置 matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] def printmatrix(m): for ele in m: for i...in ele: print(“%2d” %i,end = ” “) print() #1、利用元祖的特性进行转置 def transformMatrix(m): #此处巧妙的先按照传递的元祖m的列数,生成了...r的行数 r = [[] for i in m[0]] for ele in m: for i in range(len(ele)): #【重点】:此处利用m的第ele行i列,并将该值追加到r的i行上;...zip函数生成转置矩阵 def transformMatrix1(m): return zip(*m) #3、利用numpy模块的transpose方法 def transformMatrix2(m):...(matrix)) 以上这篇Python 矩阵转置的几种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。

    1.6K30

    python中矩阵的转置_Python中的矩阵转置

    大家好,又见面了,我是你们的朋友全栈君。 Python中的矩阵转置 via 需求: 你需要转置一个二维数组,将行列互换....讨论: 你需要确保该数组的行列数都是相同的.比如: arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] 列表递推式提供了一个简便的矩阵转置的方法:...,可以使用zip函数: print map(list, zip(*arr)) 本节提供了关于矩阵转置的两个方法,一个比较清晰简单,另一个比较快速但有些隐晦....在列表递推式版本中,内层递推式表示选则什么(行),外层递推式表示选择者(列).这个过程完成后就实现了转置....如果你要转置很大的数组,使用Numeric Python或其它第三方包,它们定义了很多方法,足够让你头晕的.

    3.6K10

    numpy中矩阵转成向量使用_a与b的内积等于a的转置乘b

    线性代数直接没有学明白,同样没有学明白的还有概率及统计以及复变函数。时至今日,我依然觉得这是人生中让人羞愧的一件事儿。不过,好在我还有机会,为了不敷衍而去学习一下。...矩阵的转置有什么作用,我真是不知道了,今天总结完矩阵转置的操作之后先去网络上补充一下相关的知识。...,而T的属性则是实现矩阵的转置。...从计算的结果看,矩阵的转置实际上是实现了矩阵的对轴转换。而矩阵转置常用的地方适用于计算矩阵的内积。而关于这个算数运算的意义,我也已经不明确了,这也算是今天补课的内容吧!...以上这篇对numpy中数组转置的求解以及向量内积计算方法就是小编分享给大家的全部内容了,希望能给大家一个参考。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    1.7K10

    【数据结构】数组和字符串(一):数组的基本操作、矩阵的数组表示

    (最后一个元素置为默认值):"); printArray(numbers); return 0; } 输出:   注:为数组提供越界索引保护是十分必要。...4.2 矩阵 4.2.1 矩阵的数组表示   矩阵是许多物理问题中出现的数学对象,是一种常用的数据组织方式。计算机工作者关心的是矩阵在计算机中如何存储,以及如何实现矩阵的基本操作。   ...数组的基本操作是数组加减,而矩阵的基本操作还有矩阵相乘和矩阵转置等。下面以矩阵乘法为例介绍矩阵的基本操作。...这些参数分别表示矩阵A的行数、矩阵A的列数(也是矩阵B的行数),以及矩阵B的列数。 使用三个嵌套的循环来计算矩阵乘法: 外层的两个循环变量i和j分别用于遍历结果矩阵C的行和列。...在每次迭代中,将矩阵C的当前元素初始化为0。 然后,通过内层的循环变量k来遍历矩阵A的列和矩阵B的行,并将对应元素相乘并累加到矩阵C的当前元素上。 输出: b.

    11510

    卷积,特征图,转置卷积和空洞卷积的计算细节

    当填充方式为 SAME 时,步长 s 为 1 时,输出的 o == i,我们则可以计算出相应的 P 值为 p = (f-1) / 2 转置卷积(反卷积,逆卷积)的计算过程 在理解转置卷积(Transposed...Convolution)计算过程之前,先来看一下如何用矩阵相乘的方法代替传统的卷积。...[16, 1] 的矩阵,记作 x 输出矩阵可以展开成维数为 [4, 1] 的矩阵,记作 y 卷积核可以表示为 [4, 16] 的矩阵,记作 C,其中非 0 的值表示卷积对应的第 i 行 j 列的权重。...所以卷积可以用 y = C * x ([4, 1] = [4, 16] * [16, 1])来表示 ? 矩阵 C 那么,转置卷积就可以理解为是 ?...参考资料 1、A guide to convolution arithmetic for deep learning(https://arxiv.org/abs/1603.07285) 2、如何理解深度学习中的转置卷积

    2.1K40

    一文搞懂反卷积,转置卷积

    我们想要将输入矩阵中的一个值映射到输出矩阵的9个值,这将是一个一对多(one-to-many)的映射关系。这个就像是卷积操作的反操作,其核心观点就是用转置卷积。...假设我们转置这个卷积矩阵 C ( 4 × 16 ) C \ \ (4 \times 16) C (4×16)变为 C T ( 16 × 4 ) C^T \ \ (16 \times 4)...我们可以对 C T C_T CT​和列向量 ( 4 × 1 ) (4 \times 1) (4×1)进行矩阵乘法,从而生成一个 16 × 1 16 \times 1 16×1的输出矩阵。...需要注意的是:这里的转置卷积矩阵的参数,不一定从原始的卷积矩阵中简单转置得到的,转置这个操作只是提供了转置卷积矩阵的形状而已。...我们通过在输入矩阵中的元素之间插入0进行补充,从而实现尺寸上采样,然后通过普通的卷积操作就可以产生和转置卷积相同的效果了。

    89820

    计算机视觉中的细节问题(六)

    有很多的方法来实现上采样的操作: 最近邻插值 双线性插值 双三次插值 为什么用转置卷积? 如果我们想要我们的网络学习到如何最优化的进行上采样,我们可以使用转置卷积。...为了讨论如何进行这个操作,我们需要定义卷积矩阵和转置卷积矩阵。 卷积矩阵 我们可以用矩阵来表示卷积运算。它只是一个重新排列的卷积核矩阵,这样我们就可以用矩阵乘法来进行卷积运算了。...但是,还有一样,我们要得到一个1到9的关系。假设我们将卷积矩阵C (4x16)转置到C.T (16x4)。我们可以对C用一个列向量(4x1)使用矩阵乘法,生成一个输出矩阵(16x1)。...转置矩阵将1个值与输出中的9个值连接起来。 将输出reshape成4x4。 我们刚刚将一个较小的矩阵(2x2)上采样到一个较大的矩阵(4x4)。...由于转置卷积重新排列权值的方式,它保持了1到9的关系。注意:矩阵中的实际权值不一定来自原始卷积矩阵。重要的是权重的排布是由卷积矩阵的转置得来的。

    75420

    卷积与反卷积关系超详细说明及推导(反卷积又称转置卷积、分数步长卷积)

    ,通过卷积核可以定义两个矩阵,一个是对应前向传播的矩阵 C C C ,另一个是对应反向传播的矩阵 C T C^T CT 。...另外我们可以以一种较为直觉的角度去理解卷积和反卷积。在上图中的第一行,我们看到代表输入的蓝色矩阵中的 1 实际上只对计算代表输出的绿色矩阵中的 1 有贡献,对绿色矩阵中的其他值并没有贡献。...因为直接卷积的输入是转置卷积的输出,转置卷积的输出是直接卷积的输入,所以第二行绿色矩阵中的 1 实际是与第一行蓝色矩阵中的 1 相对应的,而第一行蓝色矩阵中的 1 有只影响第一行绿色矩阵中的 1,所以在计算转置卷积的过程中...但是转置卷积的过程肯定是希望获得与直接卷积输入一样大的 feature map,那么应该如何做呢?   ...可以看到在最右侧和最下面补了一圈 0,就是上面计算转置卷积输出中的 a。

    3K30

    深度学习基础入门篇:卷积之1*1 卷积(残差网络)、2D3D卷积、转置卷积数学推导、应用实例

    因此,我们希望让神经网络自己学习如何更好地进行插值,这也就是接下来要介绍的转置卷积(Transpose Convolution)的方法。...3.3 转置卷积与标准卷积的区别 标准卷积的运算操作其实就是对卷积核中的元素与输入矩阵上对应位置的元素进行逐像素的乘积并求和。...}$ 的$C^T$,这里我们通过 图5 为大家直观展示一下转置后的卷积矩阵运算示例。...这里,用来进行转置卷积的权重矩阵不一定来自于原卷积矩阵. 只是权重矩阵的形状和转置后的卷积矩阵相同。...3.5 转置卷积输出特征图尺寸 stride=1的转置卷积 我们同样使用上文中的卷积核矩阵$C$: $$ \scriptsize{ C=\left\begin{array}{ccc}w{0,0} & w

    1.8K40

    如何将RDD或者MLLib矩阵zhuanzhi

    最近老有人在qq群或者公众号留言问浪尖如何将Spark Mllib的矩阵或者将一个RDD进行转置操作。...Spark Mllib的矩阵有多种形式,分布式和非分布式,非分布式在这里浪尖就不讲了,很简单,因为他是基于数组的。而分布式存储是基于RDD的,那么问题就又变成了如何将一个RDD进行转置。...首先我们来介绍一下什么是转置操作: 百科上的定义,将一个矩阵的行列互换得到的矩阵就是该矩阵的转置。...5,完成步骤4后,我们就可以按照每一行的(rowIndex, value),使用下标和其值构建新的行,保证每一行转换后的顺序。 到此转换完成。...100.0,2.0), Vectors.dense(2.0, 20.0, 200.0,2.0), Vectors.dense(3.0, 30.0, 300.0,2.0) ) ) 生成矩阵

    1.3K90

    卷积神经网络学习路线(四)| 如何减少卷积层计算量,使用宽卷积的好处及转置卷积中的棋盘效应?

    前言 这是卷积神经网络的学习路线的第四篇文章,这篇文章主要为大家介绍一下如何减少卷积层的计算量,使用宽卷积的好处以及转置卷积中的棋盘效应。 如何减少卷积层计算量?...将原始的的卷积核分成和两部分操作。 应用卷积。将卷积(假设通道数为)直接应用在某个卷积层(假设维度为)之前,当满足$C_2 使用宽卷积的好处? 所谓宽卷积就是指在卷积操作时填充方式为same方式。...我们可以发现宽卷积(same填充方式卷积)的好处就是通过补0操作可以有效的保留原始输入特征图的边界特征信息。 转置卷积和棋盘效应?...当我们在用反卷积(转置卷积)做图像生成或者上采样的时候或许我们会观察到我们生成的图片会出现一些奇怪的棋盘图案或者说你感觉到你生成的图片有颗粒感。如下图所示(图的原始来源附在附录里了): ?...附录 转置卷积中的棋盘效应参考文章:https://distill.pub/2016/deconv-checkerboard/ 总结 今天为大家介绍了减少卷积层计算量的方法,使用宽卷积的优点,以及反卷积中的棋盘效应

    1.4K20

    C++中如何获取终端输出的行数,C++清除终端输出特定的一行内容

    单纯使用C++ 进行编程的时候,很多输出的调试信息都是直接在终端输出的,那么有的时候就会对终端输出的信息有一定的要求,那么如何进行定位终端输出的信息到底输出到了哪一行呢?...如何清除特定的一行终端内容呢? 对于上面的两个问题,相信也会有很多小伙伴有同样的烦恼,那么就让我们一起来解决这个麻烦吧。..."终端输出第二行内容;" << endl; cout 输出第三行内容;" << endl; getpos(&x, &y); //记录当前终端输出的位置 setpos(0, 2);...// 回到坐标(0,2)位置进行标准输入输出 (第三行第一个字节位置) cout 的情况下,清空原本行的内容 setpos(0, 2); // 回到坐标...(0,2)位置进行标准输入输出 cin >> x; setpos(x, y); //回到记录的位置 return 0; } 通过上面的代码demo就能够实现终端清空某一特定行的内容的操作了,快来尝试一下

    4.1K40

    C++ 特殊矩阵的压缩算法

    矩阵的内置操作有很多,本文选择矩阵的转置操作来对比压缩前和压缩后的算法差异性。 什么是矩阵转置? 如有 m行n列的A 矩阵,所谓转置,指把A变成 n行m列的 B矩阵。...: 压缩之后,则要思考,如何在三元组表的基础上实现矩阵的转置。...或者说 ,转置后的矩阵还是使用三元组表方式描述。 先从直观上了解一下,转置后的B矩稀疏阵的三元组表的结构应该是什么样子。 是否可以通过直接交换A的三元组表中行和列位置中的值?...3.2 以列为优先搜索 经过转置后,A稀疏矩阵的行会变成B稀疏矩阵的列,也可以说A的列变成B的行。如果在A中以列优先搜索,则相当于在B中以行优先进行搜索。...如果在遍历时,能记录每列非零数据在B三元组表中应该存储的位置,则可以实现A三元组表中的数据直接以转置要求存储在B三元组表中。 重写上述的转置函数。

    2K30

    C++ 练气期之二维数组与矩阵运算

    3.3 转置运算 把矩阵A的行和列互相交换所产生的矩阵称为A的转置矩阵,这一过程称为矩阵的转置。转置用大写字母T表示。如下图所示: 矩阵的转置遵循以下的运算规律: 转置后再转置,相当于没有转置。...数乘后转置和数字乘以转置后的矩阵结果一样。 矩阵相乘后转置和转置后再相乘的结果一样。...(); //输出 outArrays(); return 0; } 输出结果: 数组A: 4 4 5 6 6 8 数组B(B是的转置矩阵): 4...3.4 共轭运算 矩阵的共轭定义为:一个2×2复数矩阵的共轭(实部不变,虚部取负)如下所示: 3.5 共轭转置 共轭转置顾名思义,共轭后再转置。 矩阵的共轭转置定义为:,也可以写为:。或者写为 。...一个2×2复数矩阵的共轭转置如下所示: 3.6 乘法运算 两个矩阵的乘法仅当第一个矩阵**A的列数和另一个矩阵B**的行数相等时才能运算。

    1.3K20

    基于GEMM实现的CNN底层算法被改?Google提出全新间接卷积算法

    其中A和B可以进行转置或hermitian共轭转置,而A、B和C都可以被忽略(be strided),因此实际上这个公式就表示了任意矩阵之间所有可能的加法和乘法组合,例如最基本的A*B,可以将α置1,C...置为全0矩阵即可,这也是其通用性的表现。...间接卷积算法 原始的GEMM通过如下计算来不断迭代进行矩阵运算操作并输出矩阵: ?...其中A是输入张量,B是一个常量滤波器,C是输出矩阵,在传统的im2col+GEMM算法中,通常α=1而β=0,原始GEMM操作示意图如下: ?...最后在输出矩阵C中,行数rows代表输出的像素点个数,columns代表输出的channel数。可以看到buffer的columns是和输入channel数有关的。

    1.7K30

    python转置矩阵代码_python 矩阵转置

    大家好,又见面了,我是你们的朋友全栈君。 用python怎么实现矩阵的转置 只能用循环自己写算法吗 自带函数有可以算的吗 或者网上的算法可以用的 python矩阵转置怎么做?...T python 字符串如何变成矩阵进行矩阵转置 如输入一串“w,t,w;t,u,u;t,u,u”将其变成矩阵进行转置操作 需CSS布局HTML小编今天和大家分享: 你需要转置一个二维数组,将行列互换...讨论: 你需要确保该数组的行列数都是相同的.比如: arr = [[1, 2, 3], [4, 5, 6], [7,8, 9], [10, 11, 12]] 列表递推式提供了一个简便的矩阵转置的方法:...(‘C:/your_data.xlsx’,0, header = False) df_T = df.T #获得矩阵的转置 df_T.to_excel(‘要 matlab里如何实现N行一列的矩阵变换成一行...N列的矩阵 就是说A=1 2 3 4 如何使用函数将A变成 B=1 2 3 4 5 有两种方法可以实现: 转置矩阵: B = A’; 通用方法:reshape()函数 示例如下: 说明:reshape(

    5.6K50
    领券