机器学习一般流程
预备:把实际问题转化为机器学习问题,即能够从现有的数据中学的某种规律,从而解决实际问题(预测或分类)
机器学习是数据和模型的结合。
一.获取数据:人工合成、爬虫、数据库、公开数据集、收集数据...
二.数据预处理:
1.数据清洗:缺失数据、重复数据、一致性检验
2.数据转成数字:经验、一般映射
3.特征转换:定性特征和定量特征的处理
4. 训练数据采样:随机采样、系统采样、分层采样、上采样、下采样
5.特征归一化:均值化、标准化...
三.特征工程
1.特征构建:特征转换、特征组合、特征分割
2.特征提取:特征转换、降维(PCA等)、模型方法提取
3.特征选择:过滤式(相似性度量、相关性比较,方差...)、包装法(向前选择和向后选择、完全搜索、启发式搜索、随机搜索)、集成方法(正则化(L_1, L_2
范数)、决策树、深度学习、回归模型,SVM,随机森林)
四.建模准备
1.划分数据集:训练集+开发集+测试集+训练/开发集
2.数据可视化:表格、条形图、线图、散点图...
五.建模并改进
1.明确问题:分类、回归、监督、无监督、半监督
2.假设单实数评估指标:AUC/ROC、均方误差、多指标变为单指标...
3.快速选择一些假设模型并进行迭代:svm、线性模型、神经网络、决策树...
4.设定代价函数:是否加正则项、均方误差....
5.选择优化算法解决最优化代价函数的问题:adam、sgd、动量、
6.模型训练:一些参数的设置
7.模型评估和选择:去除偏差较大的模型后选择其中方差最小的模型
8.模型改进:绘制学习曲线进行偏差/方差分析,改进欠拟合或过拟合问题(降低模型复杂度或提高模型复杂度)
9.误差分析作进一步改进:用正交化方法处理各种问题(数据集分布错误、方差、可避免误差、开发集拟合度、假设检验)
六.投入实际运行
1.若表现差,可能要改变评估标准或改变开发集或测试集,重头再来
2.若表现好,进行模型监测和更新:每隔一段时间更新模型和数据