当前位置:首页 > 百科 > 正文

人工智能的数学基础(人工智能对数学要求有多高)

人工智能的本质是发现事物之间的规律,然后对未来作出预测,一般方法是建立模型、求解模型。

“线性代数”、“概率论”、“优化论”这三门数学课程,前两门是建模,后一门是求解,是学习人工智能的基础。

线性代数

线性代数是学习人工智能过程中必须掌握的知识。线性代数中我们最熟悉的就是联立方程式了,而线性代数的起源就是为了求解联立方程式。只是随着研究的深入,人们发现它还有更广阔的用途。

在数据科学中,经常需要知道个体间差异的大小,进而评价个体的相似性和类别。衡量个体差异的方法有很多,有的方法是从距离的角度度量,两个个体之间的距离越近就越相似,距离越远就越不相似;有的方法是从相似的角度度量。

用距离衡量个体之间的差异时,最常用的距离就是欧氏距离,它和我们中学时学过的两点间距离一样,只不过现在的点是多维空间上的点了。

欧氏距离计算公式:

人工智能的数学基础(人工智能对数学要求有多高)  第1张

对应的Python代码如下:

import numpy as npusers=['u1','u2','u3']rating_matrix=np.array([4,3,0,0,5,0],[5,0,4,0,4,0],[4,0,5,3,4,0])#根据公式计算用户u1和u2的距离d1=np.sqrt(np.sum(np.square(rating_matrix[0,:]-rating_matrix[1,:])))#计算结果d15.196152422706632

除了使用距离,还可以使用相似度来衡量用户的相似性。常用的相似度是夹角余弦相似度。

两个向量a、b的夹角余弦公式:

人工智能的数学基础(人工智能对数学要求有多高)  第2张

可以用下面的代码计算两个向量的夹角余弦相似度:

def mod(vec):#计算向量的模x=np.sum(vec**2)return x**5def sim(vec1,vec2):#计算两个向量的夹角余弦值s=np.dot(vec1,vec2)/mod(vec1)/mod(vec2)return s#计算前两个用户的相似度cos_sim=sim(rating_matrix[0],rating_matrix[1])#计算结果为0.749268649265355

夹角余弦值越接近1代表越相似。

Python中很多工具包已经实现了绝大多数距离和相似度的计算,可以直接调用。

向量运算、矩阵运算、向量空间模型、多项式回归、岭回归、Lasso回归、矩阵分解等都属于线性代数的范畴。

除了使用数学公式以外,还可以利用概率进行建模。

概率论

“概率统计”是统计学习中重要的基础课程,因为机器学习很多时候就是在处理事务的不确定性。

最大似然估计

最大似然思想是频率学派使用的概率建模思想基础,它是基于最大似然原理提出的。

最大似然原理,实质是以下两点:

概率大的事件在一次试验中更容易发生;在一次试验中发生了的事件,其概率应该最大。

在用概率思想对数据建模时,通常会假设这些数据是从某一种分布中随机采样得到的,比如正态分布。但是我们并不知道这个正态分布是什么样的,均值和方差两个参数未知,“模型已定,参数未知”。这时就可以用最大似然的思想建模,最终得到对模型参数的估计。

总之,最大似然估计的目标是找出一组参数,使得模型生成观测数据的概率最大即可。

除此之外,还可以用贝叶斯方法和采样的方法估计参数。

贝叶斯建模

人们在研究事件的统计规律时,会用随机变量对一个随机现象进行量化。如果两个随机变量不独立,就可以得到著名的贝叶斯公式:

人工智能的数学基础(人工智能对数学要求有多高)  第3张

贝叶斯公式之所以非常重要,是因为在机器学习中建的模型可以表示成 P(H\D)。D代表拥有的数据,而H则代表对数据中隐藏的模型做出的假设。根据贝叶斯公式就有:

人工智能的数学基础(人工智能对数学要求有多高)  第4张

贝叶斯公式从形式上看似乎很简单,而且计算也不复杂,但它是贝叶斯学派的法宝。它成功地引入了先验知识,对频率学派的最大似然估计法进行了改进。

业界大牛曾这样评价贝叶斯建模方法:“人工智能领域出现过3个最重要的进展:深度神经网络、贝叶斯概率图模型和统计学习理论。”

朴素贝叶斯的一个成熟应用是垃圾邮件分类问题,网上有很多案例,大家可以学习。

优化

模型建立起来后,如何求解这个模型属于优化的范畴。优化,就是在无法获得问题的解析解的时候,退而求其次找到一个最优解。当然,需要提前定义好什么是最优,就好像足球比赛之前得先定义好比赛规则一样。

通常的做法是想办法构造一个损失函数,然后找到损失函数的最小值进行求解。

梯度下降算法是最经典的求解算法,除此之外还有逻辑回归算法和凸优化等。

————

以上数学知识是入门人工智能领域必知必会的数学知识,只有打好基础,才能筑牢“上层建筑”。

参考资料:《人工智能基础——数学知识》,作者:张晓明。