在人类社会中,人类智能靠模型高效解决着方方面面的问题,诸如营销中有五力模型、销售漏斗模型,业务中有价格预测、销量预测模型,人力管理中有人才分类、定级模型,工程界的模型就更多了:线性回归、马尔科夫……等数目庞杂的模型。如果我们视野再开阔些,万有引力定律、日心说、大陆漂移假说等,都是历史上曾经出现过的著名模型。模型有可能错,也有可能被后人正伪,但模型存在的意义,在于它在当下,为人类认识客观事物,提供了简单、有效的表示途径。
由于模型具有时间、空间应用上的局限性,我们谈论模型前,都要从具体应用场景出发,提出模型适用的条件、范围,我们才能在后面的使用中给与它客观的评价。
有人认为,模型是知识图谱,也就是知识图片化的一种特殊形式。知识图谱有一般建立步骤。既然模型属于知识图谱,那么采用相同的问题—知识—图示化步骤,同样可以由0到1,画出某个模型。
模型源自问题,那么首先要认识问题:认识问题的属性,认识待解决问题的前提假设,认识问题中各要素间的关系,最后梳理出手上有哪些已知数据,有哪些未知数据需要求解。
相较人类智能用到的模型,人工智能更倚重另一些模型,因为它解决的问题与我们不同。若将这些问题进行分类,大致可以分为六类。它们分别是:权重问题、状态问题、序列问题、表示问题、相似问题和分类问题。这六个问题几乎覆盖了当前人工智能的所有应用场景(见《模型思维:简化世界的人工智能模型》,作者也给出六个问题分别对应的模型)。
“世界上的万事万物,纷繁复杂,让人眼花缭乱。几千年来,人类一直在试图发现事物背后的共性规律。在计算机学者眼里,世界上几乎所有问题,最终都可以归结为权重计算。”简言之,就是适合当下冯·诺依曼计算机结构解决的问题,有一个共性,它们都能归结为权重计算。解方程如此,非智能数值计算如此,甚至连当下最炙手可热的深度神经网络亦是如此。
通过权重调整,层层抽象,计算机就能解决更为复杂、变量更庞杂的问题了。同样,这种带参数的层级模型,也是人们可以认识的,因此才能被人类称为“模型”。人工智能领域常见的TF-IDF、线性回归、PageRank模型都属于这一类的模型。
1)TF-IDF模型
TF-IDF是词频率-逆文档频率模型的简称,它们也可分解为词频率模型和逆文档频率模型。在使用此类模型时,最看中的就是它们的计算和平滑处理。
2)线性回归模型
变量之间若存在人们最易理解线性关系,那么就可以套用线性回归模型,简单解决它。涉及的问题包括一元线性回归问题和多元线性回归问题。一元线性回归问题可采用最小二乘法。多元线性回归问题可以采用标准方程法,矩阵表示、参数求解法,或梯度下降法。梯度下降法中,最需要关注的就是坡度最陡下山法及其计算方法。
3)PageRank模型
PageRank模型是种迭代模型,因此它的初始化就显得异常重要。模型中常用PageRank直观算法。虽然直观,但却有漏洞,还好漏洞修复方法已经被研究出来了,针对不同的如“过河拆桥型”漏洞、“孤芳自赏型”漏洞、“过分谦虚型”漏洞等,加入随机游走等子模型。PageRank模型的迭代计算,可以依靠基于链接关系表的链接浏览矩阵、直接浏览矩阵或者状态转移矩阵。经过计算之后,问题收敛了,答案清晰了。
事物是变化的,人类智能的意识要上跟上客观事物的变化,人工智能的模型也要契合客观的现象级变化。因此,解决状态问题,描述事物状态改变,最常用的,是有限状态自动机模型。在传统计算机领域,正向最大匹配分词算法就是这样一个自动机模型; “在自然语言处理中,中文分词、语音识别、词性标注、字符串查找、拼写纠错、模糊匹配等都是自动机模型的变种”;在网络安全领域中,常见的病毒扫描场景,很多使用的都是AC状态转移自动机模型。
1)有限状态自动机模型
对于模型学习,我们离不开对它的直观理解与形式化描述,学习自动机模型时,同样应该关注它的直观理解、形式化描述。对于值观理解:比如,Java提供的开发工具中,含有的Java词法分析,就是一种典型的词法分析自动机模型,它包括注释识别自动机、保留字识别自动机。又比如,网络中常用的地址解析自动机,则是一种含有地址识别自动机、标准地址库的模型。
2)模式匹配自动机模型
对于模式匹配,常用的六种算法为:BF模式匹配算法、RK模式匹配算法、KMP模式匹配算法、BM模式匹配算法、AC模式匹配算法和Wu-Manber模式匹配算法。
特别的,KMP算法重视移动长度的计算;后向BF算法能实现跳跃式匹配(能基于坏字符匹配、具有好后缀的固定匹配规则);AC算法需要构建TRIE树,并针对失效指针设置子算法;Wu-Manber算法则会用到后移长度数组,要计算字符块的哈希值、前缀的哈希值以及倒排链表。
观察现象序列、探索序列背后的实质,一直是都是人类主要的智能行为之一。对人类来说,探索现象背后的逻辑、本质和规律,对于人工智能做同样事情,就都归结为序列模型。
1)隐马尔可夫模型
它是基于两个假设的马尔可夫链,而这两个重要假设则是齐次马尔可夫假设、观察独立性假设。 它可以解决评估、解码和学习三类问题。评估可以用暴力求解,也可用前向、后向两种算法。解码问题同样可以暴力求解,也可用到维特比算法。学习问题分监督学习、非监督学习,可用EM算法,或更好一点的Baum-Welch算法。
2)最大熵模型
它是基于熵增加原理,以方程组形式进行的一种最大熵计算。用到拉格朗日乘子法。我们常见的骰子概率计算,就能用它解决。使用它之前,需要搜集问题现象的经验分布、特征函数、特征模板(即特征选择)、约束条件及其期望等。参数计算时,使用一整套完整的计算流程(含模型训练、模型执行)。其中的关键,是平滑处理、特征选择。平滑的方法有7种:拉普拉斯平滑、古德-图灵平滑、Jelinek-Mercer平滑、Katz平滑、绝对折扣平滑 、Witten-Bell平滑和Kneser-Ney平滑。特征选择有基于阈值的特征选择、增量式特征选择两种。
“当人们在看到某个事物或现象后,需要向没有看到的人描述这个事物或现象时,就需要尽可能找一个让对方可以接受并理解的方式来表示该事物或现象。” “对事物或现象的表示,是这个事物或现象区别于其他事物或现象的基础,是进行转述、分析、处理的前提。”“现代社会,重大的科技创新,往往都是从表示方法创新开始的。”
用于表示的两类模型分别是:向量空间模型、潜在语义分析模型。向量空间模型有别于之前的文本表示方法,它将文档词袋化、向量化并计算出词项的权重。之后,通过相似度计算就可以把握对象的相似性。潜在语义分析(LSA)模型涉及词-文档矩阵模型的奇异值分解、降维处理等计算 ,得到具有物理含义的3个矩阵。它可以用于识别同义词和近义词,也可用于文档的聚类和分类,甚至跨语言语义检索。需要注意LSA模型的适用范围,否则会暴露其模型的不足。
人类智能时常都在找现实场景、事物之间差异,实则同时也找出了它们的相似度。而计算机世界处处是差异,人工智能反倒要把注意力放在计算现场景、事物之间相似度上。这就是人和计算机,在相似问题上的差异。
相似模型就是把相似度问题转化为距离问题,常用到5种距离——欧几里得距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离和马哈拉诺比斯距离。欧几里得距离时效时,就可以引入方差与协方差来重新定义“距离”。其它距离,甚至马哈拉诺比斯距离也可能失效,那么我们就要引入更高级的“尺度”,如皮尔逊相关系数、Jaccard相关系数、余弦相似度、汉明距离、KL散度、海林格距离、编辑距离等,找到抽象层面概念之间的“距离”——也就是相似度,从而确定相关性,为己所用(就像人类智能确定因果性,为己所用一样)。
有了相关性,我们自然想要分类,通过分类,实现了内聚和简化对外接口,复杂现象得以通过分层、封装,呈现出宏观的结构供人类所认识。
就人类智能来说,分类是他们所有决策制定时依赖的基础。人类社会的各行各业,每天都在处理各式各样的分类问题。高考录用、HR选才、CEO对战略的决策、司机的选路、厨师的烹饪、农民对天气的应对等等各种决策,都是建立在正确分类的基础上做出的。
人工智能解决分类问题,常用5种模型:感知机、逻辑回归、朴素贝叶斯、决策树和支持向量机模型。
1)感知机模型以神经元工作原理为基础,通过梯度下降法计算、训练参数,通过代价函数、距离计算表征类别差异。
2)逻辑回归也有其代价函数,以梯度下降法实施计算,为的是直达目标函数。
3)朴素贝叶斯在独立假设前提下,以先验概率、后验概率和贝叶斯公式(分全概率公式、逆概率公式)为基础,用统计方法实施分类,时常外加拉普拉斯平滑一起使用。
4)决策树能解决一类问题。这类问题含信息量(计算信息熵)、信息增益、信息增益比、基尼系数的计算。信息量问题中要计算信息熵,信息增益问题会用到条件熵,最终计算结果能用于特征选择(涉及算法为ID3)。信息增益比计算涉及C4.5算法。基尼系数计算涉及CART算法(它又分为分类树、回归树两种算法)。
5)支持向量机模型分一元支持向量机和二元支持向量机。使用二元支持向量机时,涉及分类间隔(最佳分类面或最佳分类直线)的计算和最大化问题,常用到拉格朗日乘子法。其参数求解用SMO算法,期间出现的对偶问题用SVM模型应对。
以上对人工智能面对的权重问题、状态问题、序列问题、表示问题、相似问题和分类问题,给出了它用于“思考”、解决问题的6类模型:
(1)权重问题:TF-IDF模型、线性回归模型、PageRank模型;
(2)状态问题:有限状态自动机模型、模式匹配自动机模型 ;
(3)序列问题:隐马尔可夫模型、最大熵模型;
(4)表示问题:向量空间模型、潜在语义分析模型;
(5)相似问题:(欧几里得距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、马哈拉诺比斯距离、皮尔逊相关系数、Jaccard相关系数、余弦相似度、汉明距离、KL散度、海林格距离、编辑距离等);
(6)分类问题:感知机、逻辑回归、朴素贝叶斯、决策树和支持向量机模型。
扩展阅读可参看:
1、相比机器智能,人脑的决策“模型”有什么不同?
深度解忧铺:相比机器智能,人脑的决策“模型”有什么不同?
2、如果不想用脑累,请随身带着“模型”去思考
深度解忧铺:如果不想用脑累,请随身带着“模型”去思考
3、有达成轻松、有效沟通的模型吗?
深度解忧铺:有达成轻松、有效沟通的模型吗?
上一篇:人工智能技术为制造业带来了什么?