Python AI极简入门:2、简单理解机器学习


一、AI与机器学习

在网络上,AI、人工智能、机器学习、深度学习等等名词充斥了诸多文章中,让很多人摸不着头脑,到底什么是什么。

下面,我们来简单梳理一下:

  • AI,是Artificial Intelligence的英文首字母缩写,也就是人工智能,所示说AI = 人工智能;
  • 机器学习,是人工智能的一种实现方法,利用算法或逻辑从数据中抽取模型;
  • 深度学习,又是机器学习的一种技术,相对于浅层的传统机器学习技术。

本套《Python AI极简入门》讲的是Python的机器学习,大部分会涉及到传统机器学习,少部分或无部分涉及到深度学习。

二、基于机器学习方法的AI解决什么问题

机器学习能够从数据中找到事物的规律,并通过结果展示出来。通常而言,机器学习用于解决下述三种问题:

  • 分类问题:在有结果标记的情况下进行类型的预测;
  • 回归问题:在有结果标记的情况下进行数值的预测;
  • 聚类问题:在没有结果标的情况下进行种类的划分;

分类问题和回归问题同属于监督学习的范畴,利用一组已标记的数据,来对陌生数据进行预测;

而聚类问题则属于非监督学习,从大量数据中发现其共性和特性,对数据进行区分。
看上去是不是很懵逼,嗯,在现实生活中可以将机器学习解决分类问题来实现对垃圾短信、垃圾邮件、图片属性等的区分;可以将机器学习解决回归问题来实现对各种价格进行预测;可以将机器学习解决聚类问题来实现对客户群体的划分等。

这样是不是容易理解多了?

三、 机器学习工作流

通常来说,一个机器学习任务可以分解成下面四个方面:

  • 数据处理(从原始数据进行各种处理)
  • 生成训练集(从预处理好的数据中)
  • 算法的选择、训练和评估
  • 部署和监控

从源数据开始,到完成一个机器学习系统,一个机器学习的解决方案通常遵循以下模式:

源数据

显然,没有机器学习系统可以建立在没有数据的基础上。数据收集应该是机器学习的第一个重点。
数据的收集,可以依赖于公开的数据集、或者是自己机构、组织、公司积累下来的数据,或者是自己写爬虫爬取下来的数据。(对爬虫感兴趣又不熟悉的同学可以看看我写的Python爬虫入门实战)

数据预处理

收集到手的源数据如果没有经过预处理,基本上是不符合我们进行机器学习预测的要求的,其或者有缺失值,或者数据类型不统一,或者数据形式不支持……

生成训练集

从预处理好的数据集中按照一定的规则,将一份数据集分割为大小不一的两份数据,其中数据量大的为训练集,用于接下来的机器学习模型(算法)的训练,其中数据量小的为测试集,用于测试评估经过训练集训练后的机器学习模型的效果,

算法选择、训练和评估

根据实际需要解决的问题,选择合适的算法(大神可以自己设计算法),创建一个机器学习模型,将生成的训练集传入进行训练,得到一个训练好的机器学习模型。再使用测试集对模型效果通过一些评估算法进行效果评估。

开发和部署

如果模型效果很好,那么可以将模型保存到本地,方便其他端的调用(比如Web网站、GUI程序等)。

下一篇,我们将介绍Python AI预测——机器学习数据预处理。

发表评论

电子邮件地址不会被公开。