作为算法的应用方,需在正确了解业务场景及问题的基础上,挑选合适的算法及设计机器学习框架。
作为大数据系列文章的最后一篇,本文探讨大数据最精华也是最神秘的部分—算法与机器学习。算法的选用及机器学习搭建的前提是原始数据的数字化,从中提炼出有代表性的特征值,形成优质的特征值空间,所以建立一个好的数据平台是第一步,包括数据源正确选择,数据的正确处理以及数据特征的提取。
不论是使用传统数据分析方法还是大数据分析所需的高维度、高复杂度的算法,均需满足三个目标:一是准确性,二是高效率,三是适应性。作为算法的应用方,一方面需在正确了解业务场景及问题的基础上,挑选合适的算法及设计机器学习框架。另一方面,大数据产业仍需要基础数学家在理论上证明这些算法的正确性及可行性。举例来讲,模糊聚类分析的数理基础包括模糊等价关系、模糊相似矩阵。SVM数理基础则为KKT条件、拉格朗日定理,马尔科夫链数理基础则包括各种遍历算法、最大期望算法等。将算法应用于数据分析,传统数据挖掘是以古典统计学为基础的分析技术,主要包括数据的描述性分析、线性回归分析、方差分析、主成分分析、典型相关分析和贝叶斯统计分析等。其普遍缺点为传统统计学研究的是样本数目趋于无穷大时的渐近理论,现有学习方法也多是基于此假设。但实际问题中,样本数是有限且分布不均的,因此一些传统分析方法实际表现不尽如人意。
新一代的分析方法则是专门研究小样本情况下机器学习规律的理论,可分三类:一是基于概率论的算法,如隐马尔科夫模型、最大期望值、状态转移概率模型,以及对各种选项进行更好的评估,提高决策质量。二是基于凸二次优化论的算法,目的是达到更好的分析精准度。三是针对时间序列分析的算法,如小波分析、小波包分析等,这些算法是预测模型的基础。
此外,由以上基本算法组合成的变种混合算法,综合吸收各类算法的优点,用诸于复杂业务问题。今天世界上几乎所有的算法均融入到一块,并不断地产生新的变种,如小波包核函数的支持向量回归、以小波分析为核心的模糊聚类分析、基于隐马尔科夫模型及最大期望值的信用风险分析及预测等等。
从解决问题的思路来看,算法也可分为分类算法和聚类算法。分类算法是将一个未知样本分到几个预先已知类的过程,建立一个模型来描述预先的数据集或概念集。这里假定每一个样本都有一个预先定义的类,由一个被称为类标签的属性确定,为建立模型而被分析的数据元组形成训练数据集,因此也称作有指导的学习。分类算法缺点在于其是推理的、主观的、且有预设立场。分类算法经典代表,如各种决策树模型、朴素贝叶斯模型等。而聚类分析则是归纳性的,不需事先确定分类的准则来分析数据对象。聚类分析不考虑己知的类标记。聚类是一种无监督学习方法,聚类对象根据最大化类内的相似性并最小化类间的相似性的原则进行聚类或分组,它通过一些目标函数计算来把观测进行合理的分类,使得同类的观测结果接近且异类的观测相差较多,最终所形成的每个簇可看成一个对象类,而由形成的对象类可以导出隐藏规则。聚类增强了人们对客观现实的认识。
算法选择好后,接着是搭建一个机器学习框架,设计一个合适于数据特性的模型参数训练方法,理想的目标是增量式的学习,并自动调整模型参数。最后,我们以协同过滤推荐算法的机器学习框架来展示一个案例。协同过滤是推荐引擎的核心,包括七个步骤,首先通过余弦相似性或修正的余弦相似性、相关相似性等方法进行相似性比较,其中应对用户—项目矩阵稀疏性问题,可尝试采用如BP神经网络、朴素贝叶斯分类等进行矩阵填充,或者运用空间填充曲线、奇异值分解等技术等进行矩阵降维。接下来需要解决冷启动问题,可以将新用户按照属性相似性聚类,将新项目按照属性相似性分类。此外,为了提高推荐速度,实现快速聚焦,缩小搜索范围,我们可以应用Gibbs Sampling算法或快速模糊聚类等。而在推荐策略上,可采用平均加权策略或基于评分频度的推荐策略。最后,需要对推荐效果进行评估,包括应用统计精度度量和决策支持精度度量方法进行评估推荐质量。
芮祥麟
……
关注读览天下微信,
100万篇深度好文,
等你来看……