机器学习项目的7个步骤!

一个完整的机器学习项目一般流程包括:

1、抽象成数学问题

首先要明确问题,分类还是回归,尽量避免胡乱尝试;

2、数据获取及分析

获取的数据要有代表性,否则必然会过拟合。

而且对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。 而且还要对数据的量级有一个评估,多少个样本,多少个特征,可以估算出其对内存的消耗程度,判断训练过程中内存是否能够放得下。如果放不下就得考虑改进算法或者使用一些降维的技巧了。如果数据量实在太大,那就要考虑分布式了。

3、数据预处理

数据清洗、数据归一化、扩充等。归一化、离散化、因子化、缺失值处理、去除共线性等,数据挖掘过程中很多时间就花在它们上面。这些工作简单可复制,收益稳定可预期,是机器学习的基础必备步骤。

4、特征工程

筛选出显著特征、摒弃非显著特征,需要机器学习工程师反复理解业务。这对很多结果有决定性的影响。特征选择好了,非常简单的算法也能得出良好、稳定的结果。这需要运用特征有效性分析的相关技术,如相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法。

5、训练模型选择与调优

要根据数据的实际情况和具体要解决的问题来选择模型,比如样本数、特征维度,数据特征综合考虑;要解决的问题是分类还是回归,问题需要网络去关注哪方面,结合实际情况选择网络。

调优问题,可以采用交差验证,观察损失曲线,测试结果曲线等分析原因,调节参数:优化器、学习率、batchsize等

可以尝试多模型融合,来提高效果。

6、后处理

网络的到的结果一般不直接使用,通过一些后处理方案,不如加入先验约束,一些处理,将明显错误去除。

7、模型评估

从各个方面评估,模型准确率、误差,时间、空间复杂度,稳定性、迁移性等

最新文章