引言
吴军博士的《数学之美》科普性地介绍了自然语言处理、搜索引擎、语音识别、智能导航等人工智能应用,一些看似很智能、高大上的应用,其背后的数学原理往往却并不复杂,体现了数学之美!
如果数学能够这样
教
,可能很多人也不会头疼于数学了
从这点启发我们,在解决问题时,通常需要考虑问题背后的数学原理、模型、理论是什么,然后,依照道
的指导进行实践。
不然,就仅是在术的层面进行努力,以及修修补补 ,而不能获得像算法一样广泛地解决一类问题的能力!
数学之美一两处
《数学之美》中举例了判定两个集合是否相同的问题,来说明数学的魅力。
在书中, 最终比较完美的解决方法,包括的仅仅是加法操作,在此先卖个关子!
两个集合是否相同的问题
因为两个集合中元素出现的顺序可能是任意顺序的,所以,使得判断两个集合是否相等,需要有一些特殊考虑
传统计算机科学之美
- 两个集合进行逐个比较
集合个数不同,算法终止
直至出现第一个不同,或完全相同,算法终止
效率上存在一些瑕疵,但是,足够简单
- 对某一集合进行排序,然后按照排序顺序进行比较
集合个数不同,算法终止
直至出现第一个未匹配元素,或完全匹配,算法终止
第二个传统方法利用到了排序信息,例如,二叉排序树,有效减少了比较元素个数
两个传统的计算机科学中的算法都很直接,也意味着简单,容易实施,也会因为场景的适用体现出它的价值。
尺有所短,寸有所长,堆砌复杂度较高的技术,可能没有简单的技术效用高。
关于此点,在《数学之美.Google AK-47的设计者》章节中有专门介绍
数学之美的推荐解决办法
在《数学之美》中,指出在数学中,对于顺序没有要求的操作很多,例如,简单的加法操作,就与被加数的出现顺序无关。
如果先能够对每个集合元素采用信息指纹技术,然后再对每个信息指纹进行相加。因为产生指纹和做加法操作,仅为O(1)的基础操作,
经过一个O(N)过程后,最终比较两个集合指纹的加法结果,就可以完成任务!
数学之美:加法操作可以相互交换,使得元素在集合中出现的顺序,并不能改变最终结果
挺完美!
这里用挺字,是因为在信息指纹技术下,并不能完全保证正确性,存在有几率性误判
不过,在不严格追求精确判断的场景,此方法在效率和效用上取得了完美的平衡
因为在众多可能性的空间中,误判概率是小概率事件,而大概率是不同的。
同时,可以通过预先的设计,能够让这个误判概率达到理论上可以接受的程度
基础的机器学习应用
场景 | 说明 |
---|---|
聚类 | 无监督学习 |
分类 | 有监督学习 |
回归 | 回归问题与分类问题,通常存在桥梁 |
例如,在
scikit-learn
机器学习框架中,很多分类训练算法同时能够提供回归训练算法
需要说明的是,机器学习不仅仅是分类、和回归问题。
不少应用表面上不是简单的分类、回归问题,需要更多的人工智能技术进行组合,可以从《数学之美》一书中窥得一斑
进阶应用
下面列出的人工智能应用,组合了更多的机器学习技术
场景 | 说明 |
---|---|
自然语言处理 | 基于统计的概率模型 |
语音识别 | 手写体输入、 输入法也算其特例 |
搜索引擎 | 文档分类、相似度计算 |
机器翻译 | - |
智能问答 | chatGPT为代表 |
人脸识别 | 基于神经网络的深度学习 |
自动驾驶 | - |
重点算法介绍
算法 | 说明 |
---|---|
EM | 期望最大化算法 |
动态规划 | - |
有限状态机 | - |
隐马尔科夫过程 | 马尔科夫假设虽然简单,在自然语言处理中效用极佳 |
维特比算法 | 篱笆网络有向图最短路径 |