[Math for ML]矩阵分解(Matrix Decompositions) (上) I. 奇异值分解(Singular Value Decomposition) 1. 定义 Singular Value Decomposition (SVD)是线性代数中十分重要的矩阵分解方法,被称为"线性代数的基本理论",因为它不仅可以运用于所有矩阵(不像特征值分解只能用于方阵),而且奇异值总是存在的. SVD定理 设一个矩阵\(A^{m×n}\)的秩为\(r∈[0,min(m,n)]\),矩阵…
I. Groups 在介绍向量空间之前有必要介绍一下什么Group,其定义如下: 注意定义中的\(\bigotimes\)不是乘法,而是一种运算符号的统一标识,可以是乘法也可以是加法等. 此外,如果\(\forall{x,y}∈\mathcal{G}:x⊗y=y⊗x\),那么此时\(G=(\mathcal{G,⊗})\)是Abelian Group(阿尔贝群). 举个栗子: \((Z,+)\)是group \((N_0,+)\)不是group,因为他没有inverse elements,即不满足…
I. 映射(Mapping) 1. 单射(Injective) 函数f 是单射当且仅当若f(x) = f(y) 则 x = y. 例子: f(x) = x+5 从实数集\(R\)到\(R\)是个单射函数. 这个函数很容易被还原:f(3) = 8,即 已知 8 可以返回 3 2. 满射(Surjective) 函数 f(从集 A 到集 B)是满射当且仅当在 B 中的每个 y 存在至少一个在 A 中的 x 满足 f(x) = y, 就是说, f 是满射当且仅当 f(A) = B. 值域里的每个元素都…
I. 范数(Norm) 定义: 向量空间\(V\)上的范数(norm)是如下函数: \[ \begin{align} \|·\|:V→R, \notag \\ x→\|x\| \notag \end{align} \] 该函数会赋予每个向量\(x\)自身的长度\(\|x\|∈R\),并且对于\(\lambda∈R,\,\,x,y∈V\)满足如下性质: Absolutely homogeneous:\(\|\lambda x\|=|\lambda|\|x\|\) Triangle inequali…
I. 向量梯度 假设有一个映射函数为\(f:R^n→R^m\)和一个向量\(x=[x_1,...,x_n]^T∈R^n\),那么对应的函数值的向量为\(f(x)=[f_1(x),...,f_m(x)]^T∈R^m\). 现在考虑\(f\)对\(x_i\)的梯度为:\(\frac{\partial{f}}{\partial{x_i}}=[\frac{\partial{f_1}}{\partial{x_i}},...,\frac{\partial{f_m}}{\partial{x_i}}]^T∈R^…
I. 行列式(Determinants)和迹(Trace) 1. 行列式(Determinants) 为避免和绝对值符号混淆,本文一般使用\(det(A)\)来表示矩阵\(A\)的行列式.另外这里的\(A∈R^{n×n}\)默认是方阵,因为只有方阵才能计算行列式. 行列式如何计算的就不在这里赘述了,下面简要给出行列式的各种性质和定理. 定理1:当且仅当一个方阵的行列式不为0,则该方阵可逆. 定理2:方阵\(A\)的行列式可沿着某一行或某一列的元素展开,形式如下: 沿着第\(i\)行展开:\[de…
I. 复习word2vec的核心思路 1. Skip-gram 模型示意图: 2.word vectors的随机梯度 假设语料库中有这样一行句子: I love deep learning and NLP 中心词为deep,那么在计算梯度的时候则可以得到如下的梯度向量. 可以很明显地看到该向量非常稀疏.常见的解决办法有两种:一是使用稀疏矩阵更新运算来更新矩阵\(U,V\)的特定的列向量.二是使用哈希来更新,即key为word string,value是对应的列向量. II. 近似 1. 负采样…
https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? Learning Machine Learning Learning About Computer Science Educational Resources Advice Artificial Intelligence How-to Question Learning New Things Lea…
"计算机科学和软件工程专业有什么不同?" 以及- "如果我想成为软件工程师,我应该选择计算机科学还是软件工程专业?" 在这篇文章中,我会回答这个问题,并分享一些我自己对这些专业的分析. 两个专业的概述 1.计算机科学主要从理论和数学的角度研究计算机如何工作. 2.如果你喜欢数学,逻辑学,或者你想进入CS的某个专业领域,例如人工智能,机器学习,计算机安全或图形,你应该选择计算机科学. 3.软件工程研究如何构建软件系统,包括诸如项目管理,质量保证和软件测试等. 4.如果…
title: [线性代数]3-1:向量空间(Space of Vectors) categories: Mathematic Linear Algebra keywords: Vectors Space Subspace Column Space Span toc: true date: 2017-09-19 17:40:30 Abstract: 本章介绍线性代数的核心内容,关于Vectors Space和subspace的一些观点,本文作为第一篇,主要说明基础知识 Keywords: 向量空间…