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

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 <https://github.com/ai-word>



 

 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信