机器学习概述
机器学习是一个涉及多学科的专业领域,包括计算机科学、统计学、信息学和神经科学等多个学科。机器学习基于数据和算法构建模型并对模型进行评估。如果效果达到了要求,就用该模型处理其他目标数据;如果达不到要求,则进一步调整算法或参数,重新建立模型并再次评估,通过反复测试和评估来获得满意的模型。
算法类型
根据算法类型,机器学习可以分为四类,即监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)、半监督学习(Semi-Supervised Learning)和强化学习(Reinforcement Learning)。
1.监督学习
监督学习使用标记过的数据进行训练。所谓标记过的数据,指的是包含已知输入和输出的原始数据。其中输入数据中的每个变量都称为一个特征(Feature)值,而输出数据则是针对这些输入数据的输出的期望值,也称标签(Label)值。在监督学习中,计算机使用输入数据计算输出值,然后对比标签值计算误差,通过迭代寻找最佳模型参数。监督学习通常用于基于历史数据的未来事件预测,主要解决两类问题,即回归(Regression)和分类(Classification)。在天气预报中使用历史数据预测未来几天的温度、湿度和降雨量等就是典型的回归问题,其输出的数据是连续的;而分类问题的输出是不连续的离散值,例如,使用历史数据判断航班是否晚点是一种二元分类问题,其输出值只有“是”和“非”两种可能。在实际情况中,有些场景既可以看作回归问题,也可以看作分类问题,如天气预报中将利用回归计算得到的温度值转换为“炎热”和“凉爽”的分类问题。
常用的监督学习算法包括K邻近算法(K-Nearest Neighbors, KNN)、线形回归(Linear Regression)、逻辑回归(Logistic Regression)、支持向量机(Support Vector Machine, SVM)、朴素贝叶斯(Naive Bayes)、决策树(Decision Tree)、随机森林(Random Forest)、神经网络(Neural Network)和卷积神经网络(Convolutional Neural Networks, CNN)等。
2.无监督学习
与监督学习不同,无监督学习所使用的原始数据的输出部分没有标签,也就是说,在训练的时候并不知道期望的输出是什么。所以,无监督学习并不像监督学习那样预测输出结果,而是解决输入数据的聚类(Clustering)和特征关联(Correlation)问题,目标是通过训练来发现输入数据中存在的共性特征,或者发现特征值之间的关联关系。其中,聚类算法根据对象属性进行分组,例如,针对下图的数据,算法会根据这组数据里x与y的值将其分为4个不同的簇,所以聚类算法可以用于识别不同的客户群体,然后在营销活动中向其推送不同的广告信息。
常用的无监督学习算法包括K均值聚类(K-Means Clustering)、主成分分析(Principal Component Analysis, PCA)算法、自组织映射(Self-Organizing Map, SOM)神经网络和受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)等。
3.半监督学习
半监督学习与监督学习的应用场景相同,主要面向分类和回归。但半监督学习使用的原始数据只有一部分有标签。因为无标签数据的获取成本更低,在实际场景中,用户会倾向于使用少量的标签数据与大量的无标签数据进行训练。例如,在图像识别领域,先在大量含有特定物体的原始图像中挑选部分图像进行手工标注,然后就可以使用半监督学习对数据集进行训练,得到能够从图像中准确识别物体的模型。
常用的半监督学习算法包括协同训练(Co-Training)和转导支持向量机(Transductive Support Vector Machine, TSVM)等。
4.强化学习
强化学习面向决策链问题,在不断变化的状态下,强化学习的目的是确定当前状态下的最佳决策。由于当前的决策往往无法立刻被验证和评估,所以强化学习往往没有大量的原始数据,计算机需要进行大量的试错学习,基于错误发现哪些行动能产生最大的回报,再根据规则找到生成最佳结果的最优路径。强化学习的目标是学习最好的策略,通常用于机器人、自动驾驶、游戏和棋类等,2016年横空出世的AlphaGo就是典型的强化学习案例。
业务场景
机器学习已经成为许多企业价值驱动的核心要素,其应用范围非常广泛,以下为业界常见的机器学习业务场景。
1.决策支持
机器学习能够帮助企业对大量历史数据和相关数据集进行分析,提出最佳方案的决策建议。例如,在医疗行业,基于机器学习的临床决策工具可以帮助医生进行诊断并选择合适的治疗方法,提高效率并提升治疗效果;在农业领域,机器学习可以整合气候、能源、水资源等多维度数据,帮助农民做出农作物管理决策;在商业领域,决策工具能够帮助管理层预测趋势、识别问题并加速决策。
2.个性化推荐
机器学习可以创造个性化的体验,通过为客户推荐感兴趣的相关项目提高潜在客户的转化率或推动重复销售。在电子商务场景中,机器学习可以根据客户过去的购买记录、公司当前的库存或其他类似客户的购买历史等,向不同客户推荐不同的产品和服务,增强个性化,提高客户的购物体验。在媒体娱乐场景中,机器学习可以根据用户的观看历史、具有类似兴趣的用户的观看历史,提供个性化的娱乐节目推荐,帮助用户快速找到感兴趣的视频节目,提高客户留存率。
3.防止客户流失
客户流失率是非常关键的绩效指标,代表了客户的忠实度及企业后续的业绩发展预期。企业通过机器学习可以从大量历史数据中找到规律,理解在什么情况下容易失去客户;进而分析现有客户行为,预测客户关系是否可能发生恶化,提醒业务人员哪些客户存在转向其他供应商的可能。
4.客户服务改善
改善客户服务是提高企业品牌和客户忠实度的重要途径之一,成熟的企业会将客户服务中心视为至关重要的资产,而不是纯粹的成本中心。客户服务是一项高度依赖经验的工作,提高客服人员的工作效率是所有客户服务中心的核心内容。机器学习能帮助客服人员根据客户提供的基本信息及时获得所需信息,更迅速地为其解决问题;也能通过资源预测优化人员配备,利用自动化的后台工具减少客户等待时间和问题解决时间,提高客户服务的工作效率。
5.网络欺诈检测
网络欺诈每年会在世界范围内造成几十亿美元的损失,传统的用于防范虚假账户访问、信用卡盗窃和其他网络恶意行为的应用程序已经无法适应如今网络犯罪的多样性和“高速发展”。机器学习可以理解规律并发现规律之外异常情况的能力使其成为检测网络欺诈行为的利器,在金融、旅游、游戏和零售等领域得到了广泛应用。例如,金融机构利用机器学习了解单个客户的典型行为,包括经常在何地使用信用卡,以及刷卡金额的范围和经常购买的物品种类;当发生新交易时,机器学习利用掌握的规律,结合其他相关数据集,可以迅速判断该交易是否超出了正常交易的规范标准,是否存在欺诈的可能性。这种准确性和高效性能够大大提高抵御网络诈骗的能力,但仅靠人工是几乎不可能实现的。
机器学习流程
机器学习项目的成功在很大程度上依赖训练数据的质量。机器学习流程一般包括如下七个步骤:数据获取、数据探索、数据处理、模型训练、模型评估、参数调整和模型部署。
1.数据获取
用于机器学习训练的原始数据可能来自不同的数据源,包括数据库里的结构化数据、企业应用的文本日志或各类图片。在数据获取阶段,需要对原始数据进行整合,以方便实施后续步骤。
2.数据探索
机器学习的本质是从已有数据中获取经验,所以训练数据的质量和数量直接影响训练模型的效果。在数据探索阶段,需要通过数据可视化检查变量之间是否存在依赖关系,或者数据本身是否存在平衡问题,进而提炼出高质量的数据。
3.数据处理
在数据处理阶段,需要对数据进行调整(包括去重和归一化等),还需要将数据分成两部分,其中一部分用于训练模型,另一部分(预留)用于评估训练好的模型,这样可以避免使用训练数据进行评估而发生的过拟合。
4.模型训练
针对不同的机器学习场景,研究人员和数据科学家已经创建了许多成熟的算法,在模型训练阶段,数据工程师可以选择适当的算法并基于已处理好的数据进行训练。
5.模型评估
在模型训练完成后,可以进行模型评估,测试模型的准确率和召回率等指标是否符合要求。在模型评估阶段,需要使用预留的评估数据集,检查模型在“从未见过”的数据上的表现。
6.参数调整
在完成模型评估后,基于评估结果,数据工程师可能需要更改算法或调整参数以进一步改善模型。算法的参数一般在训练时进行了隐含假设,通过调整参数可以重复测试这些假设及其他值,进一步对模型进行优化。
7.模型部署
在获得满意的模型后,需要进行模型部署,将模型部署到生产环境中以服务用户,这也是机器学习价值的最终体现。