一、机器学习
机器学习中最重要且最花时间的过程就是特征工程,而在特征工程中又包含了三个步骤,分别是特征选择、特征表达以及特征预处理。
(1)特征选择
特征选择通常是特征工程的第一步,它关系到我们机器学习算法的上限(数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已)。因此原则是尽量不错过一个可能有用的特征,但是也不滥用太多的特征。具体特征选择可参考:特征工程之特征选择
(2)特征表达
特征表达通常是对数据某一个特征的具体表现形式做处理,一般从以下几个方面进行处理:缺失值处理,特殊的特征处理比如时间和地理位置处理,离散特征的连续化和离散化处理,连续特征的离散化。具体可参考:特征工程之特征表达
(3)特征预处理
在实际项目中通常会存在异常数据以及数据不平衡的情况,这些数据的存在会导致我们模型的数据分析能力存在一定的偏差,因此特征预处理就显得尤为重要。在对数据进行特征预处理的过程中主要包括特征的归一化和标准化,异常特征样本清洗与样本数据不平衡问题的处理。具体可参考:征工程之特征预处理
二、深度学习
深度学习不同于机器学习,深度学习就像是一个黑盒子,只需要对数据进行一个预处理就可以将数据交给深度学习模型,深度学习模型可以自动完成特征工程任务,不需要人工进行繁琐的特征工程。但是深度学习的缺点就是我们无法清楚的认识到特征的重要性等属性,且深度学习模型结构复杂,训练过程比较麻烦。
三、如何平衡不同的方法
第一看项目数据量。通常在工业领域,数据量巨大,达到百万级以上的话,建议选用深度学习方法,省掉了做特征工程的时间。但是如果数据量稍微小一点的话,机器学习➕特征工程所得到的效果可能会更好,模型的泛化能力会更强。比
第二看结果的可解释性和可调节性。可解释性就是说我们可以分析出模型产生这个结果或者结论的原因,能够追本溯源找到产生该输出结果的原因,是什么数据特征影响了最终的输出结果,结果不正确的时候我们改如何对错误进行分析;可调节性是指在出错或有特征的增删时,能够方便的对原模型进行修正以满足新的要求。通常深度学习就像是一个黑盒子,你无法知道模型里面到底发生了什么,这一点,机器学习可能比较有优势。
目前深度学习主要用于一些难以进行特征工程的领域,比如图像处理、NLP等;而机器学习主要用于金融风控,量化分析等需要较强解释性的领域。
当然,机器学习和深度学习都可以对各个领域的问题进行处理,但是因为模型本身的特点以及项目对模型的需求,在选择上会有所偏向。