摘要:此熵不是智商、情商、逆境商。最开始是热力学的概念,后来被祖师爷香农用来表示信息/信源的不确定度。自信息量信源符号 \(x_i\) 本身的不确定度,称为其自信息量,记为 \(I(x_i)\)\[I(x_i) = H(x_i) = \log_2\frac{1}{p(x_i)}\]单符号离散信源的熵如果一个单符号离散无记忆信源的信息符号可以表示为一个独立的离散随机变量 \(X\),则称这个随机变量的平均...
阅读全文
摘要:这篇文章解释了底部链接的代码。问题描述 如上图所示,有一些点位于单位正方形内,并做好了标记。要求找到一条线,作为分类的标准。这些点的数据在 inearly_separable_data.csv 文件内。 思路最初的 SVM 可以形式化为如下:\[\begin{equation}\min_{\boldsymbol{\omega,b}}\frac{1}{2}\|\boldsymbol{\...
阅读全文
摘要:主问题 (primal problem)具有 \(m\) 个等式约束和 \(n\) 个不等式约束,且可行域 \(\mathbb{D} \subset \mathbb{R}^d\)的非空优化问题 \[\begin{align}\min_x \ f(\boldsymbol{x}) \notag\\ s.t.\ h_i(\boldsymbol{x}) &= 0 \ {(i=1,\cdots ,m)}...
阅读全文
摘要:基本演算矩阵的转置\[\begin{equation}(\mathbf{A}+\mathbf{B})^T = \mathbf{A}^T+\mathbf{B}^T\end{equation}\]\[\begin{equation}(\mathbf{AB})^T = \mathbf{B}^T\mathbf{A}^T\end{equation}\]上面\(\mathbf{A}\in\mathbb{R...
阅读全文
摘要:k-means 是聚类中比较简单的一种。用这个例子说一下感受一下 TensorFlow 的强大功能和语法。 一、 TensorFlow 的安装按照官网上的步骤一步一步来即可,我使用的是 virtualenv 这种方式。 二、代码功能在\([0,0]\) 到 \([1,1]\) 的单位正方形中,随机生成 \(N\) 个点,然后把这 \(N\) 个点聚为 \(K\) 类。最终结果如下,在...
阅读全文
摘要:Long-press gestures are continuous. The gesture begins (UIGestureRecognizerStateBegan) when the number of allowable fingers (numberOfTouchesRequired) have been pressed for the specified period (minimu...
阅读全文
摘要:A debug trick在异常端点处运行 po $arg1,找出异常信息。 Address Sanitizer概述是一个运行时检测工具发现内存问题 可以用于模拟器和设备 可以发现的问题Use after freeHeap buffer overflowStack buffer overflowGlobal variable overflowOverflows in C++ container...
阅读全文
摘要:Thread Sanitizer 过程编译过程中链接了一个新的库。 也可以通过命令行来操作: $ clang -fsanitize=thread source.c -o executable$ swiftc -sanitize=thread source.swift -o executable$ xcodebuild -enableThreadSanitizer YES 不支持设备,只支持...
阅读全文
摘要:看完这个 WWDC 之后的总结。 Metal 可以在单位时间内提供 10 倍的 draw call 调用。 BackgroundAbout Draw Call每一次 draw call 调用都必须有自己的状态向量,比如着色器、纹理等。而改变状态向量对 CPU 来说是比较耗时的,因此单位时间内 draw call 的次数有限。  CPU 负责把状态向量的改变翻译为硬件命令 (hardwar...
阅读全文
摘要:读苹果文档时的笔记,给自己看。primary goal of Metal is to minimize the CPU overhead incurred by executing GPU workloads. 用在两个方面: graphicsdata-parallel computationMetal App 不能在后台运行,否则会被终止。 Command Organization and...
阅读全文
摘要:Basic Buffers当向顶点着色器传递数据过多(大于 4096 字节)时, setVertexBytes:length:atIndex: 方法不允许使用,应该使用 setVertexBytes:length:atIndex: 方法提高性能。这时,参数应该是 MTLBuffer类型,可以被 GPU 访问的内存。_vertexBuffer.contents 方法返回可以被 CPU 访问的内存接口...
阅读全文