摘要: 本文是一份关于机器学习端到端过程的指导指南,其中列出了实现机器学习模型所需遵循的步骤及对应的参考文章;
人工智能、机器学习已经火了有一阵了,不少程序员也想换到这方向,目前有关于深度学习基础介绍的材料不少,但很难找到一篇简洁的文章提供实施机器学习项目端到端的指南,从头至尾整个过程的相关指南介绍。所以,我的在网上搜集到了许多有关于实施机器学习项目过程的文章,深刻介绍了如何实现机器学习/数据科学项目的各个部分,但更多时候,咱们只须要一些归纳性的经验指导。python
在我不熟悉机器学习和数据科学的时候,我曾经寻找一些指导性的文章,这些文章清楚地阐述了在项目的某些步骤时候我须要作什么才能很好地完成个人项目。本文将介绍一些文章,旨在为成功实现机器学习项目提供一份端到端的指南。程序员
基于此,闲话少叙,下面让咱们开始吧算法
简而言之,机器学习项目有三个主要部分:第一部分是数据理解、数据收集和清理,第二部分是模型的实现,第三部分是进行模型优化。通常而言,数据理解、收集和清理须要花费整个项目60-70%的时间。为此,咱们须要该领域专家。编程
如今假设咱们正在尝试一个机器学习项目。本文将为你提供实施项目能够遵循的步骤指南,确保项目成功。网络
在项目开始时,咱们的大脑中确定会出现多个问题:机器学习
好比:编程语言
机器学习项目简单来说是一种试错过程,整个研究过程和递归过程比较相似,是一种不断试错寻找更优解法的过程。该过程同时也是实践和理论的结合,对相关研究领域的专业知识有所要求,完成每一个项目后也会提高我的的战略技能,从事该领域的研究人员须要掌握统计相关的知识以及具有必定的编程能力。最重要的是,机器项目会教会你保持耐心,每作完一次实验后,都会分析实验结果,进而寻找到更优的答案(调参)。
必须进行的两个步骤:函数
机器学习是如今,也是将来。全部的技术人员、数据科学家和金融专家能够从中受益,同时,若是上述这些人员在以后的日子不对该项技术有所涉猎的话,极可能会被时代所淘汰。工具
Python是数据分析和机器学习最流行的编程语言中的一种,而且有不少封装好的工具包可供咱们调用,实现起来相对而言比较简单。性能
1.选择合适的机器学习算法。如何选择合适的算法能够参考下面这篇文章:
机器学习算法大乱斗
现实中,不论是工业界,亦或是学业界,都有大量的机器学习算法可供使用。上述文章中将分析典型的机器学习算法各自的优缺点,及针对的具体问题。
到目前为止,你可能已经理解了你须要解决的项目问题是有监督问题仍是无监督问题。
然而,机器学习不像经典的程序设计同样(给定一个输入,其输出是固定), 机器学习总有可能找到另一个正确的答案。好比,预测问题中一般有多个正确的答案。
2.若是这是一个有监督的机器学习问题,那么请确保你了解该项目是回归仍是分类问题。想弄清楚这点能够阅读下面这篇文章:
有监督的机器学习:回归与分类
在上述文章中,将阐述有监督学习中回归问题和分类问题之间的关键差别。
3.若是是时间序列回归问题,则在预测时间以前使时间序列数据保持不变。具体作法参考下面这篇文章:
我是如何预测时间序列?
预测、建模和推导时间序列在许多领域愈来愈受欢迎。时间序列通常用于预测将来。
4.找出一种预先测量算法性能的方法。如何肯定评测指标能够参考下面这篇文章:
每一个数据科学家必须知道的数学度量方法
每一个数据科学家都须要了解大量的数学度量方法,好比准确度、AUC。
5.测量时间序列回归模型的性能。能够参考下面这篇文章:
搭建的预测模型性能有多好——回归分析
预测是计量经济学和数据科学中的一个重要概念,它也普遍用于人工智能中。
6.调查是否须要使用ARIMA模型。详细内容请参考下面这篇文章:
了解差分整合移动平均自回归模型——ARIMA
在文章“如何预测时间序列?”中,提供了关于时间序列分析的相关概述。这篇文章的核心是了解ARIMA模型。
7.若是是无监督的机器学习问题,那么须要了解群集是如何工做和实施的。详细内容请参考下面这篇文章:
无监督机器学习:聚类和K均值算法
上述文章解释了聚类在无监督机器学习中的工做原理。
8.探索神经网络和深度学习,看看它是否适用于你的问题。详细内容请参考下面这篇文章:
了解神经网络:从激活函数到反向传播
上述文章旨在阐述神经网络的基本概述,讲解基本概念,包含激活函数、反向传播算法。
9.丰富你的特征集合,对其进行缩放、标准化和归一化等。详细内容请参考下面这篇文章:
处理数据以提升机器学习模型的准确性
有时咱们会创建一个机器学习模型,用咱们的训练数据训练它,当咱们训练好后进行预测时,效果并非很理想,有部分缘由是数据集存在脏数据或不够全面,所以须要对数据进行进一步的处理,好比数据清洗、加强等。
干净的数据=良好的结果。
10.减小特征尺寸空间。详细内容请参考下面这篇文章:
在数据科学中,什么是降维?
虽然如今是大数据时代,有不少的数据可供使用,大量数据能够促使咱们建立一个预测模型,但数据量不是越大越好,而是越精越好。
若是在丰富特征并减少尺寸后,模型没有产生准确的结果,那么须要从新调整模型的参数。
11.微调机器学习模型参数。详细内容请参考下面这篇文章:
[如何微调机器学习模型以提升模型的预测准确性?]()
微调机器学习预测模型是提升预测结果准确性的关键步骤。这个过程有些枯燥,须要一些耐心和运气。
始终确保模型不会过拟合或欠拟合。
12.最后,重复这些步骤,直到得到准确的结果:
始终对数据集进行分析,看看是否缺乏任何的重要信息,在看到问题时解决问题,但在开始进行新的实验前,始终须要备份并保存你前一份的工做内容,这是一个好的习惯么,由于你可能须要返回上一步再一次进行其它的实验。
机器学习在本质上是回溯过程。
本文为云栖社区原创内容,未经容许不得转载。