随笔分类 -  Mathematics

机器学习相关的数学基础
机器学习中导数最优化方法(基础篇)
摘要:1. 前言熟悉机器学习的童鞋都知道,优化方法是其中一个非常重要的话题,最常见的情形就是利用目标函数的导数通过多次迭代来求解无约束最优化问题。实现简单,coding 方便,是训练模型的必备利器之一。这篇博客主要总结一下使用导数的最优化方法的几个基本方法,梳理梳理相关的数学知识,本人也是一边写一边学,如... 阅读全文

posted @ 2013-10-19 14:57 daniel-D 阅读(17897) 评论(8) 推荐(11) 编辑

漫谈:机器学习中距离和相似性度量方法
摘要:在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。根据数据特性的不同,可以采用不同的度量方法。一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则:1) d(x,x) = 0 // 到自己的距离为02) d(x,y) >= 0 // 距离非负3) d(x,y) = d(y,x) // 对称性: 如果 A 到 B 距离是 a,那么 B 到 A 的距离也应该是 a4) d(x,k)... 阅读全文

posted @ 2013-08-07 22:33 daniel-D 阅读(42095) 评论(13) 推荐(20) 编辑

机器学习中的矩阵方法(附录A): 病态矩阵与条件数
摘要:1. 病态系统现在有线性系统: Ax = b, 解方程很容易得到解为:x1 = -100, x2 = -200. 如果在样本采集时存在一个微小的误差,比如,将 A 矩阵的系数 400 改变成 401:则得到一个截然不同的解:x1 = 40000, x2 = 79800.当解集 x 对 A 和 b 的系数高度敏感,那么这样的方程组就是病态的 (ill-conditioned).2. 条件数那么,如何评价一个方程组是病态还是非病态的呢?在此之前,需要了解矩阵和向量的 norm, 这里具体是计算很简单的 infinity norm, 即找行绝对值之和最大,举个例子:infinity norm 具有三 阅读全文

posted @ 2013-07-27 17:45 daniel-D 阅读(17447) 评论(1) 推荐(2) 编辑

机器学习中的矩阵方法04:SVD 分解
摘要:前面我们讲了 QR 分解有一些优良的特性,但是 QR 分解仅仅是对矩阵的行进行操作(左乘一个酉矩阵),可以得到列空间。这一小节的 SVD 分解则是将行与列同等看待,既左乘酉矩阵,又右乘酉矩阵,可以得出更有意思的信息。奇异值分解( SVD, Singular Value Decomposition )... 阅读全文

posted @ 2013-07-26 21:13 daniel-D 阅读(10723) 评论(1) 推荐(0) 编辑

机器学习中的矩阵方法03:QR 分解
摘要:1. QR 分解的形式QR 分解是把矩阵分解成一个正交矩阵与一个上三角矩阵的积。QR 分解经常用来解线性最小二乘法问题。QR 分解也是特定特征值算法即QR算法的基础。用图可以将分解形象地表示成:其中, Q 是一个标准正交方阵, R 是上三角矩阵。2. QR 分解的求解QR 分解的实际计算有很多方法,例如 Givens 旋转、Householder 变换,以及 Gram-Schmidt 正交化等等。每一种方法都有其优点和不足。上一篇博客介绍了 Givens 旋转和 Householder 变换, 第三种方法线性代数课程里面已经非常常见。下面用 Householder 变换的方法推导中间的过程。假 阅读全文

posted @ 2013-07-23 15:10 daniel-D 阅读(15118) 评论(0) 推荐(2) 编辑

Coding the Matrix (3):矩阵
摘要:1. 矩阵与映射矩阵和映射包含两方面的关系:简单:已知矩阵 M, 从向量 x 映射到 M * x. (注:矩阵与行向量的点乘)稍微复杂:已知映射 x ->M * x, 求矩阵 M。第一种情况直接运算就可以得到映射,就不详细写了,着重写第二种情况。首先,假设 x 为 n 维行向量, M*x 为 m 维列向量,可以知道 M 是 m × n 大小的矩阵。在点乘里面,M 的列向量是基向量, x 向量的每个分量是线性组合的系数,M 矩阵可以写成:怎么求出 v1, v2, ..., vn 向量呢?利用基向量带入即可得到:例一:将一张图片向右拉伸两倍,即 (x, y) 变为了 (2x, y) 阅读全文

posted @ 2013-07-22 23:40 daniel-D 阅读(1995) 评论(0) 推荐(0) 编辑

机器学习中的矩阵方法02:正交
摘要:说明:Matrix Methods in Data Mining and Pattern Recognition 读书笔记1. 正交的一些概念和性质在前一章的最小二乘的问题中,我们知道不恰当的基向量会出现条件数过大,系统防干扰能力差的现象,这实际上和基向量的正交性有关。两个向量的内积如果是零, 那么就说这两个向量是正交的,在三维空间中,正交的两个向量相互垂直。如果相互正交的向量长度均为 1, 那么他们又叫做标准正交基。正交矩阵则是指列向量相互正交的方阵。标准正交矩阵有具有如下性质:若 P 和 Q 是标准正交矩阵,那么 X = PQ 也是标准正交矩阵。正交矩阵最重要的性质之一是它的变换可以保证一 阅读全文

posted @ 2013-07-22 15:10 daniel-D 阅读(4923) 评论(0) 推荐(0) 编辑

机器学习中的矩阵方法01:线性系统和最小二乘
摘要:说明:Matrix Methods in Data Mining and Pattern Recognition 读书笔记非常 nice 矩阵在线计算器,网址:http://www.bluebit.gr/matrix-calculator/.1. LU Decomposition假设现在要解一个线性系统:Ax = b,其中 A 是 n×n 非奇异方阵,对于任意的向量 b 来说,都存在一个唯一的解。回顾我们手工求解这个线性方程组的做法,首先将矩阵 A 行之间进行加减,将 A 矩阵转化为一个上三角矩阵,然后从下往上将未知数一个一个求解出来,这就是高斯消元法。实际上,矩阵等价于左乘一个单位 阅读全文

posted @ 2013-07-21 23:30 daniel-D 阅读(5479) 评论(1) 推荐(1) 编辑

Coding the Matrix (2):向量空间
摘要:1. 线性组合概念很简单:当然,这里向量前面的系数都是标量。2. Span向量v1,v2,.... ,vn的所有线性组合构成的集合,称为v1,v2,... ,vn的张成(span)。向量v1,v2,...vn的张成记为Span{v1,v2,... ,vn}。回顾上一次课里面的电脑登陆认证的过程,假设黑客知道使用 GF(2) 加密,截获到一组电脑的问题 alpha 以及用户的回答 beta:那么即使黑客不知道密码, alpha 所组成的 span 里面的所有问题都可以通过线性组合来得到答案了,证明如下:3. Generator实际上就是基的概念:4. 向量在实数上的 spanspan 就是向量的 阅读全文

posted @ 2013-07-16 19:19 daniel-D 阅读(910) 评论(0) 推荐(0) 编辑

Coding the Matrix (1):向量
摘要:1. list 画点>>> from plotting import plot>>> L = [[2, 2], [3, 2], [1.75, 1], [2, 1], [2.25, 1], [2.5, 1], [2.75, 1], [3, 1], [3.25, 1]]>>> plot(L)2. 缩放 alpha × vec = [alpha × elem for elem in vec] >>> def scalar_vector_mult(alpha, v): return [alpha*x for x 阅读全文

posted @ 2013-07-08 22:41 daniel-D 阅读(725) 评论(0) 推荐(0) 编辑

Coding the Matrix (0):映射、复数和域
摘要:1. 非常好的 Python 教程《深入 Python 3.0》 以及 IBM 开发社区的博客探索 Python .2. 子集: s 是 S 的子集>>>S = {2, 3, 4, 5, 6, 7}>>>s = {x for x in S if x%2==0} # 偶数子集>>>sset([2, 4, 6])3. 映射:Ceasar 加密>>> import string>>> table = string.maketrans("abcdefghijklmnopqrstuvwxyz", 阅读全文

posted @ 2013-07-07 11:17 daniel-D 阅读(1234) 评论(0) 推荐(0) 编辑

导航