[系统工程]机器学习的通用步骤

版权声明:未经博主允许不得转载(https://github.com/ai-word) https://blog.csdn.net/BaiHuaXiu123/article/details/89577485

我们在进行机器学习过程中一个通用步骤主要有以下几个方面:

1)明确问题

  • 实现什么目标
  • 需要什么数据      这个问题:如果公司有大量的数据,可以确定最终的目标是什么;如果没有则需要通过目标来确定数据集    

2)获取数据

  • 自己公司内部的数据(项目上使用),如数据库等
  • 开源数据集,如:UCI、GoogleTrends、Kaggle、AWS公用数据集、Imagenet、MINIST、麻省理工大学人脸识别、歌曲数据库、图像处理COCO、视频数据集youtube等等

3)数据格式整理

     往往我们的数据大多都是数据库文件数据,并不是里面所有的维度信息都是需要用到的,所以这里需要进行相应的处理。

  •  把收集到的数据转换为txt,csv,xsl等的形式,方便机器学习库进行读取
  • 原始数据的所有的变量量化,进一步转变为含数据(Data)和标签(Labels)的数据框形式,方便建模。

4)数据预处理

  • 偏差检测:即检查导致偏差的因素,并识别离散值与噪声值。
  • 数据清洗:即处理缺失值与噪声。
  • 数据标准化

5)数据拆分

  •  将数据集随机打乱按照7:3或者8比2或者其他拆分为训练集和测试集。

6)根据场景采用不同的合适机器学习模型

    考虑因素:

  • 数据的维度大小,数据的质量和数据的特征属性;

  • 可以利用的计算资源;

  • 所在的项目组对该项目的时间预计;

  • 手上的数据能应用在哪些项目中;

    选择的依据

  • 如果要进行降维操作,那么你可以使用主成分分析方法(PCA)

  • 如果要快速进行手写数字预测,那么你可以使用决策树或者逻辑回归

  • 如果要进行数据分层操作,那么你可以使用分层聚类

  • 等等

7)设置损失函数loss

  • 0-1损失函数 也就是说,当预测错误时,损失函数为1,当预测正确时,损失函数值为0。该损失函数不考虑预测值和真实值的误差程度。只要错误,就是1。
  • 平方损失函数 是指预测值与实际值差的平方。
  • 绝对值损失函数  该损失函数的意义和上面差不多,只不过是取了绝对值而不是求绝对值,差距不会被平方放大。
  • 对数损失函数  
  • Hinge loss

8) 设置学习率

  • 对于不同大小的数据集,调节不同的学习率
  • 在每次迭代中调节不同的学习率

9)测试,检验

综上整个大致流程如图所示:

以上有不准确的,欢迎提意见,探讨。。

资源下载

[资源下载]https://github.com/ai-word

猜你喜欢

转载自blog.csdn.net/BaiHuaXiu123/article/details/89577485
今日推荐