应用数学与机器学习基础(一)

应用数学与机器学习基础(一)

掌握机器学习需要一些基本的数学概念,本博客介绍了一些应用数学的基本概念。
为什么要掌握一些数学知识?
首先机器学习的算法一般都是要定义损失函数*的,学习策略是损失函数最小化*(有些可能是NP完全问题,采用启发式方法,如决策树),那么数学知识可以让我们定义拥有许多变量的函数,找到这些函数的最高点和最低点,并量化信念度。
机器学习算法的基本框架:
1)描述机器学习的基本目标,并描述如何实现这些目标
2)指定代表某些信念的模型,设计衡量这些信念与现实对应程度的代价函数
3)使用训练算法最小化这个代价函数

一 线性代数
1.几个数学概念:
1)标量:一个标量就是一个单独的数
2)向量:一列有序的数字,可以通过下标就行索引。可以把向量看作空间中的点,每个元素是不同坐标轴上的坐标。
3)矩阵:矩阵是一个二维数组,其中每一个元素由2个索引确定。向量可以看做只有一列的矩阵
4)张量:一般的一个数组中的元素分布在若干维坐标的规格网格中,我们称之为张量。
5)转置:矩阵的转置是以对角线为轴的镜像。

2.矩阵和向量相乘

两个矩阵A和B的乘积也是一个矩阵C,要求矩阵A的列数必须和矩阵B的行数相同。
C = AB 具体的: C i j = k A i k B k j
Ax = b 矩阵A中的每一行和b中对应的元素构成一个约束。

3.单位矩阵和逆矩阵

单位矩阵:它是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1。除此以外全都为0。
逆矩阵:设A是数域上的一个n阶矩阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E ,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。注:E为单位矩阵。

4.线性相关和生成子空间

针对线性方程组 Ax = b ,为了分析方程有多少个解,可以将A的列向量看做从原点出发的不同方向,确定有多少种方法可以到达向量b。向量x中的每个元素表示我们应该沿着这些方向走多远,
Ax = i x i A : i 其中 A : i 代表矩阵的第i列,是一个列向量
i x i A : i 这种操作称作线性组合。形式上,一组向量的线性组合,是指每个向量乘以对应的标量系数之后的和。
即: i c i v ( i )
一组向量的生成子空间是原始向量线性组合后所能抵达的点的集合。
确定Ax=b是否有解,相当于确定向量b是否在A的列向量的生成子空间中。这个特殊的生成子空间被称为A的列空间
如果一组向量中的任意一个向量都不能表示成其他向量的线性组合,那么这组向量称为线性无关。如果某个向量是一组向量中某些向量的线性组合,那么将这个向量加入这组向量后不会增加这组向量的生成子空间。这意味着如果一个矩阵的列空间涵盖整个 R m ,那么该矩阵包含至少一组m个线性无关的向量。

5.范数

这个概念用来衡量一个向量的大小。机器学习中,经常使用范数来衡量向量的大小
形式上, L p 范数定义形式如下: | | x | | p = ( i | x i | p ) 1 / p
范数是将向量映射到非负值的函数。直观上来说,向量x的范数衡量从原点到点x的距离(不仅仅是欧几里得距离)

6 特征分解与奇异值分解(重要)
特征分解和奇异值分解在机器学习的应用中经常出现。
许多数学对象可以通过将他们分解成多个组成部分或者找到他们的一些属性来更好的理解。
特征分解是使用最广的矩阵分解之一,我们将矩阵分解成一组特征向量和特征值。(只适用于方阵)
Av = λv
其中 λ 为一标量,称为 v 对应的特征值,表示这个特征多么重要,相当于权重。也称 v 为特征值 λ 对应的特征向量。也即特征向量被施以线性变换 A 只会使向量伸长或缩短而其方向不被改变。
奇异值分解(singular value decomposition,SVD):是将矩阵分解成为特征值和特征向量的另一种方法,通过奇异值分解,可以将矩阵分解为奇异向量(singular vector)和奇异值(singular value)
思考:矩阵的乘法的本质是啥?线性变换,以一个矩阵A为中心,AB的本质就是利用B对矩阵A进行线性变换。包括 伸缩、切变和旋转三种变换形式。

猜你喜欢

转载自blog.csdn.net/qq_16608563/article/details/82656393