人工智能的本质是发现事物之间的规律,然后对未来作出预测,一般方法是建立模型、求解模型 。
“线性代数”、“概率论”、“优化论”这三门数学课程,前两门是建模,后一门是求解,是学习人工智能的基础 。
线性代数线性代数是学习人工智能过程中必须掌握的知识 。线性代数中我们最熟悉的就是联立方程式了,而线性代数的起源就是为了求解联立方程式 。只是随着研究的深入,人们发现它还有更广阔的用途 。
在数据科学中,经常需要知道个体间差异的大小,进而评价个体的相似性和类别 。衡量个体差异的方法有很多,有的方法是从距离的角度度量,两个个体之间的距离越近就越相似,距离越远就越不相似;有的方法是从相似的角度度量 。
用距离衡量个体之间的差异时,最常用的距离就是欧氏距离,它和我们中学时学过的两点间距离一样,只不过现在的点是多维空间上的点了 。
欧氏距离计算公式:
文章插图
对应的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的夹角余弦公式:
文章插图
可以用下面的代码计算两个向量的夹角余弦相似度:
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回归、矩阵分解等都属于线性代数的范畴 。
除了使用数学公式以外,还可以利用概率进行建模 。
概率论“概率统计”是统计学习中重要的基础课程,因为机器学习很多时候就是在处理事务的不确定性 。
- 最大似然估计
最大似然原理,实质是以下两点:
- 概率大的事件在一次试验中更容易发生;
- 在一次试验中发生了的事件,其概率应该最大 。
总之,最大似然估计的目标是找出一组参数,使得模型生成观测数据的概率最大即可 。
除此之外,还可以用贝叶斯方法和采样的方法估计参数 。
- 贝叶斯建模
文章插图
贝叶斯公式之所以非常重要,是因为在机器学习中建的模型可以表示成 P(HD) 。D代表拥有的数据,而H则代表对数据中隐藏的模型做出的假设 。根据贝叶斯公式就有:
文章插图
贝叶斯公式从形式上看似乎很简单,而且计算也不复杂,但它是贝叶斯学派的法宝 。它成功地引入了先验知识,对频率学派的最大似然估计法进行了改进 。
业界大牛曾这样评价贝叶斯建模方法:“人工智能领域出现过3个最重要的进展:深度神经网络、贝叶斯概率图模型和统计学习理论 。”
朴素贝叶斯的一个成熟应用是垃圾邮件分类问题,网上有很多案例,大家可以学习 。
优化模型建立起来后,如何求解这个模型属于优化的范畴 。优化,就是在无法获得问题的解析解的时候,退而求其次找到一个最优解 。当然,需要提前定义好什么是最优,就好像足球比赛之前得先定义好比赛规则一样 。
推荐阅读
- 你的笔记本需要换新吗?看完这篇文章你就知道了
- 基于oAuth的授权登陆
- 2 人工智能——机器学习免费教程
- 天猫积分怎么抵钱用 哪些商品可以用天猫积分抵扣
- 越南旅游注意事项有哪些
- 茶宠的讲究有哪些,漂亮的茶宠
- 影响店铺转化率的五大因素 影响淘宝转化率的因素有哪些
- 淘宝不能用的字体 淘宝哪些字体不可以用
- 99%的人不知道自己该喝什么茶
- 常用沏茶身手,都有哪些水可以用来沏茶