最近打算开一个机器学习系列,梳理一下研究生期间对机器学习理论和实践的粗浅认识。想起研一(2018年)做过人工智能在土木工程领域应用的文献整理,以此作为该系列的开头。近期文献不能包含,望见谅。
1)推理期(1950~1965)
基于逻辑或者事实归纳出规则,通过编程来让计算机完成任务。
2)知识期(1965~1985)
通过专家构建知识库,采用知识表示、知识推理等技术完成由领域专家才能解决的复杂系统。
3)学习期(1985~至今)
通过设计和分析一些学习算法,让计算机从数据中自动分析获得规律,并利用规律对未知数据进行预测。
可以说到这一时期,计算机真正地从一个被动的执行者向主动的发现者迈进。近年来,得益于大数据的发展和计算效率的大幅提升,机器学习逐渐成为热门学科。后文的介绍也主要以机器学习为主。
机器学习常用算法可分为三类:监督学习、无监督学习和强化学习。
监督学习和无监督学习均通过对训练数据的学习,得到映射模型,再利用该模型对未知数据进行预测。二者区别在于训练数据有无标签。举个例子,当我给机器提供大量包含猫、狗照片的数据时,如果给每张照片打上了猫或狗的标签来实现分类,就是监督学习;相反,如果照片上没有标签,而是让机器自己通过特征提取区分出猫和狗,就是无监督学习。
强化学习,也叫增强学习,是指从与环境的交互中不断学习的过程,常见的应用场景有无人自动驾驶、AlphaGo等。一个典型的强化学习例子是悬崖行走问题。如下图所示,在一个网格世界中,有一个醉汉从左下角的开始位置S,走到右下角的目标位置G,每次选择行走方向:上下左右。若走到悬崖醉汉就会跌落,求醉汉到达目标位置的最优路径。
根据该划分方法,监督学习又可分为回归问题和分类问题,常用算法包括神经网络、SVM、决策树等;无监督学习主要为聚类分析,包括K-Means聚类、隐马尔可夫模型等;强化学习则主要为代理模型,包括马尔可夫决策、动态规划等。之后可以梳理一下各类算法的原理及应用场景,在此不再赘述。
除此之外,本文按三类应用场景总结了近年来的文献,统计了输出目标及使用的算法,以供参考。近年来AI与土木结合所使用的算法仍集中于SVM和ANN,但目前算法的更新迭代非常快,在Kaggle、KDD Cup等比赛中,集成学习方法逐渐崭露头角,未来有望在土木领域有进一步的应用尝试。