干货 :手把手教你在试验中修正机器学习模型(附学习资源)

百家 作者:数据分析 2018-12-17 00:10:54

作者:Seth DeLand;翻译:王威力;校对:万文菁

本文约1800字,建议阅读8分钟。

本文是一个循序渐进的指南,包括如何预处理数据和从中生成特征。并且还包含其他示例资源的链接,以帮助您探索有关机器学习的方法和其他示例。


机器学习的实现路线充满了反复试验。在这个领域,新手工程师和科学家将不断调整他们的算法和模型。此过程中会出现挑战,尤其是在数据处理和确定最优模型的时候。

在建立机器学习模型时,重要的是知道现实世界的数据并不完美,因此不同类型的数据需要不同的处理方法和工具,并且在确定最优模型的时候不可避免会有取舍。

下面的系统流程将描述如何开发一个训练好的模型用于手机健康监测app,该app跟踪用户整天的活动。输入包括手机端记录的感知器数据。输出将是用户的活动:行走,站立,坐下,跑步,或跳舞。由于这是一个分类问题,这个例子将应用有监督学习。

 

访问和加载数据

用户将拿着手机坐下来,记录传感器数据,并将其存储在标记为“坐下”的文本文件中。之后,用户拿着手机站起来,记录传感器数据,并将其存储在标记为“站立”的文本文件中。用同样的方法来记录跑步、行走、跳舞的数据。

 

数据预处理

由于机器学习算法无法区分数据中的噪声和有价值的部分,所以需要在训练模型前清洗数据。数据预处理可以用数据分析工具来实现,比如MATLAB。为了清理数据,用户可以导入并绘制数据,去除异常值。在这个例子中,离群值可能是由于在记录数据时无意中移动了手机造成。用户还需要检查缺失值,缺失值可用其他样本的近似值或参照数据代替。

 

图 1 数据预处理之去除离群值,即位于数据主要部分之外的数据点。

 

数据清洗之后,将数据集分为两个部分,一部分作为训练集,另一部分将是用于测试和交叉验证的“保留”数据。

 

使用预处理后的数据生成特征

原始数据必须转化成机器学习算法可以使用的信息。要实现这一点,用户必须生成能够区分手机端数据的特征。

在这个例子中,工程师和科学家必须划分好特征以帮助算法区分步行(低频)和跑步(高频)。

 

数据类型

特征选择目标

技巧

传感器数据

从原始传感器数据中提取信号特性以创建更高级别的信息

峰值分析——应用傅里叶变化,识别主频

脉冲和转移矩阵——得到信号特征如上升时间、下降时间、趋稳时间

频谱测量——画出信号功率、带宽、均值频率、中值频率

图像和视频数据

提取特征,例如边缘位置、分辨率、颜色

视觉词袋——生成图像特征直方图,例如边缘、角点、连通区域

方向梯度直方图——生成梯度方向直方图

最小特征值算法——监测图像角点

边缘探测——探测图像亮度变化最快的像素点位置

交易数据

计算提炼数据中信息的派生值

时间标记分解——把时间标记分解成到天或者月

计算集成值——生成更高级别的特征,比如某一特殊时间出现的总次数

表 1 依据数据类型导出特征,可以把原始数据转化成机器学习模型可以使用的高级别信息

建立并训练模型

从一个简单的决策树开始:

图 2 基于特征建立的决策树分类模型

 

绘制混淆矩阵以观察模型效果。

图 3 矩阵显示该模型在区分跳舞和跑步时存在问题

 

基于上面的混淆矩阵,这表示决策树不适合这种类型的数据,或者应该使用不同的算法。

 

K近邻算法(KNN)存储所有训练数据,将新数据点与训练数据进行比较,得到K个最相似样本,并返回这些相似样本的最频繁类。这个算法展示出更高的准确度。

图 4 改用KNN算法提高了准确度——尽管还有提高的可能性

 

另一个选择是多分类支持向量机(SVM):


图 5 SVM的准确率在每个分类标签上都接近99%

 

这个过程证明了通过反复试验可以更好实现目标。

 

改进模型

如果模型无法可靠地区分跳舞和跑步,就需要改进模型。改进模型可以通过使其复杂化以更好地拟合数据,或者使其简单化以降低过拟合的可能性。

为了简化模型,可以通过以下方法减少特征数量:

  • 相关矩阵,去除相关性弱的特征;

  • PCA降维,消除冗余;

  • 有序地缩减特征,直到模型效果不再提高。

为了使模型更加复杂,工程师和科学家可以通过集合多个简单模型得到一个更大的模型或者增加更多数据源。

完成训练和调整之后,模型可以应用在测试集(数据预处理时保留的一部分数据)。如果模型可以可靠地对活动分类,那么它就可以应用在手机应用程序。

工程师和科学家第一次训练机器学习模型的时候将会遇到挑战,但应该意识到反复试验是过程的一部分。

上述的工作流程提供了构建机器学习模型的路线图,并且可以应用到其他不同的问题上,比如预测维护、自然语言处理和自动驾驶。

探索这些资源以了解更多机器学习方法和例子:

  • Supervised Learning Workflow and Algorithms:Learn the workflow and steps in the supervised learning process

    https://www.mathworks.com/help/stats/supervised-learning-machine-learning-workflow-and-algorithms.html?s_tid=srchtitle&s_eid=PEP_19715.html

  • MATLAB Machine Learning Examples:Get started with machine learning by exploring examples, articles, and tutorials

    https://www.mathworks.com/solutions/machine-learning/getting-started.html&s_eid=PEP_19715.html

  • Machine Learning with MATLAB:Download this ebook for a step-by-step guide providing machine learning basics along with advanced techniques and algorithms

    https://www.mathworks.com/campaigns/offers/machine-learning-with-matlab.html?s_iid=nd_bb15&s_eid=PEP_19715.html

 

原文标题:

Building a Machine Learning Model through Trial and Error

原文链接:

https://www.kdnuggets.com/2018/09/mathworks-building-machine-learning-model-through-trial-error.html

译者简介:王威力,求职狗,在香港科技大学学习大数据科技。感觉数据科学很有难度,也很有意思,还在学(tu)习(tou)中。一个人肝不动的文献,来数据派follow大佬一起干。

「完」


本次转自:THU数据派 微信公众号;

版权声明:本号内容部分来自互联网,转载请注明原文链接和作者,如有侵权或出处有误请和我们联系。

关联阅读

原创系列文章:

1:从0开始搭建自己的数据运营指标体系(概括篇)

2 :从0开始搭建自己的数据运营指标体系(定位篇)

3 :从0开始搭建自己的数据运营体系(业务理解篇)

4 :数据指标的构建流程与逻辑

5 :系列 :从数据指标到数据运营指标体系

6:   实战 :为自己的公号搭建一个数据运营指标体系

7:  从0开始搭建自己的数据运营指标体系(运营活动分析)

数据运营 关联文章阅读:  

运营入门,从0到1搭建数据分析知识体系    

推荐 :数据分析师与运营协作的9个好习惯

干货 :手把手教你搭建数据化用户运营体系

推荐 :最用心的运营数据指标解读

干货 : 如何构建数据运营指标体系

从零开始,构建数据化运营体系

干货 :解读产品、运营和数据三个基友关系

干货 :从0到1搭建数据运营体系

数据分析、数据产品 关联文章阅读:

干货 :数据分析团队的搭建和思考

关于用户画像那些事,看这一文章就够了

数据分析师必需具备的10种分析思维。

如何构建大数据层级体系,看这一文章就够了

干货 : 聚焦于用户行为分析的数据产品

80%的运营注定了打杂?因为你没有搭建出一套有效的用户运营体系

从底层到应用,那些数据人的必备技能

读懂用户运营体系:用户分层和分群

做运营必须掌握的数据分析思维,你还敢说不会做数据分析

合作请加qq:365242293  


更多相关知识请回复:“ 月光宝盒 ”;

数据分析(ID : ecshujufenxi )互联网科技与数据圈自己的微信,也是WeMedia自媒体联盟成员之一,WeMedia联盟覆盖5000万人群。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接