【机器学习】《机器学习实战》读书笔记及代码 总目录
- https://blog.csdn.net/TeFuirnever/article/details/99701256
GitHub代码地址:
- https://github.com/TeFuirnever/Machine-Learning-in-Action
——————————————————————————————————————————————————————
目录
-
- 本章内容
-
- 1、何谓机器学习
- 2、关键术语
- 3、机器学习的主要任务
- 4、如何选择合适的算法
- 5、开发机器学习应用程序的步骤
- 6、Python 语言的优势
- 7、NumPy 函数库基础
- 8、总结
- 参考文章
本章内容
- 机器学习的简单概述
- 机器学习的主要任务
- 学习机器学习的原因
- Python语言的优势
1、何谓机器学习
什么是机器学习中举了一个很有意思的例子,我们来听一下,就当开胃菜了。
最近我和一对夫妇共进晚餐,他们问我从事什么职业,我回应道:“机器学习。”妻子回头问丈夫:“亲爱的,什么是机器学习她的丈夫答道:“T-800型终结者。”在《终结者》系列电影中,T-800是人工智能技术的反面样板工程。
机器学习在日常生活中的应用,从左上角按照顺时针方向依次使用到的机器学习技术分别为:人脸识别、手写数字识别、垃圾邮件过滤和亚马逊公司的产品推荐。
在本书中,给出的定义是:【简单地说,机器学习就是把无序的数据转换成有用的信息。】
- 传感器和海量数据
虽然已从互联 上获取了大量的人为数据,但最近却涌现了更多的非人为数据。传感器技术并不时髦,已经发展了好多年的传统行业,但是如何将它们接入互联 这确实是新的挑战。地震预测是一个很好的例子,传感器手机了海量的数据,但是如何从这些数据中抽取出有价值的信息是一个非常值得研究的课题。
- 机器学习非常重要
在过去的半个世纪里,发达国家的多数工作岗位都已从体力劳动转化为脑力劳动。过去的工作基本上都有明确的定义,类似于把物品从A处搬到B处,或者在这里打个洞,但是现在这类工作都在逐步消失。现今的情况具有很大的二义性,类似于“最大化利润”,“最小化风险”、“找到最好的市场策略”……诸如此类的任务要求都已成为常态。虽然可从互联 上获取到海量数据,但这并没有简化知识工人的工作难度。针对具体任务搞懂所有相关数据的意义所在,这正成为基本的技能要求。
2、关键术语
通过构建下面的鸟类分类系统,来对机器学习领域的常用术语进行一个总结。
4、如何选择合适的算法
从上面的表格中可以看出,如果我们能确定算法的目的,想要算法完成何种任务,再加上确定需要分析或手机的数据是什么,就能大概确定哪一个算法更适合了。
首先考虑使用机器学习算法的目的。
- 如果想要预测目标变量的值,则可以选择监督学习算法
- 如果目标变量是离散型,则可以选择分类器算法
- 如果目标变量是连续型的数值,则需要选择回归算法
- 如果不想预测目标变量的值,则可以选择无监督学习算法
- 进一步分析是否需要将数据划分为离散的组。如果这是唯一的需求,则使用聚类算法;
- 如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。
其次需要考虑的是数据问题。主要应该了解数据的以下特性:特征值是离散型变量还是连续型变量,特征值中是否存在缺失的值,何种原因造成缺失值,数据中是否存在异常值,某个特征发生的频率如何(是否罕见得如同海底捞针),等等。
一般说来发现最好算法的关键环节是反复试错的迭代过程。
5、开发机器学习应用程序的步骤
机器学习算法开发应用程序通常遵循以下的步骤。
(1) 收集数据
(2) 准备输入数据
(3) 分析输入数据
(4) 训练算法
(5) 测试算法
(6) 使用算法6、Python 语言的优势
7、NumPy 函数库基础
机器学习算法涉及很多线性代数知识,因此在使用Python语言构造机器学习应用时,会经常使用NumPy函数库。如果不熟悉线性代数也不用着急,这里用到线性代数只是为了简化不同的数据点上执行的相同数学运算。将数据表示为矩阵形式,只需要执行简单的矩阵运算而不需要复杂的循环操作。
8、总结
尽管现在引起很多人的注意,但是机器学习算法其实还是一个专业的学科,很多人都是道听途说,仍然有很长的路要走。随着每天我们需要处理的数据在不断地增加,能够深入理解数据背后的真实含义,是数据驱动产业必须具备的基本技能。如果你想走这个方向,就要下定决心,走到黑,加油,共勉。
下一章我们将介绍第一个分类算法——k-近邻算法。
参考文章
- 《机器学习实战》
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!