littlepage

机器学习实战(Peter Haarrington) 读书笔记

最近我脑海里总有一个声音,就是,去探索新的领域。在某方面的学习认知加深,会加大自己在知识领域的盲区,迫于工作压力,脑海总会对你说,你应该学习工作所需要的知识。但现实并无法界定什么知识是你工作真正需要的。类似在黑暗中去寻找一把钥匙,人的知识领域想要去寻找未知领域的钥匙,你将必定摸着黑去探索。

————2019.9.29

一、机器学习基础

1.什么是机器学习?

机器学习简单来说是机器可以习得人的行为。

2.机器学习的关键术语?

鉴别鸟类,我们需要一些属性,如体重,翼展等。
那么,体重,翼展类别则是特征,鸟的种类则是目标变量

3.机器学习的主要任务?

使用多种算法来进行解决同一个事物。
类似:
1.监督学习
k-近邻算法 线性回归 朴素贝叶斯算法 局部加权线性回归 支持向量机 决策树 Ridge回归 Lasso最小回归系数统计
2.无监督学习
K-均值 最大期望算法 DBSCAN Parzen窗设计

类似,如果目标变量是离散型,则选择分类器算法。如果目标变量为连续型,则选择回归算法。

4.开发机器学习应用程序的步骤?

1.收集数据
2.准备输入数据
3.分析输入数据
4.训练算法
5.测试算法
6.使用算法

5.Python语言的优势?

1.语法清晰
2.容易操作文本文件
3.使用广泛,存在大量的开发文档

6.NumPy函数库基础

机器学习算法涉及很多线性代数知识,所以我们常常使用NumPy函数库。NumPy函数库是Python开发环境的一个独立模块,而且大多数Python发行版本没有默认安装NumPy函数库,因此我们需要进行单独安装

from numpy import *
random.rand(4,4)

输入上述代码会出现一个4*4的array随机数组。

NumPy矩阵和数组的区别:

NumPy函数库中有2种不同的数据类型(matrix和array),都可以用于处理行列表示数字元素,看起来很相似,但是执行数学运算会有不同的结果,其中NumPy函数库中的matrix和MATLAB中matrices等价。

调用mat()函数可以将函数化为矩阵,可以使用

randMat=mat(random.rand(4,4))

.I操作可以求出逆矩阵

randMat.I

如果执行randMat*randMat.I,那么,我们会得到单位矩阵,但这个单位矩阵不像常规单位矩阵,除了对角线都是1以外,其余还存在非常小的元素

函数eye(4)创建4*4的单位矩阵

myeye=randMat*ranMat.I
myeye-eye(4)

本章学习小结

尽管没有引起大多数人的注意,但是机器学习算法已经广泛应用于我们日常生活中。学习机器学习算法,必须了解数据实例,每个数据实例由多个特征值组成,为了构建训练分类器,必须输入大量已知分类数据,我们将这些数据成为训练样本集。

下一章节——k-近邻算法

分类:

技术点:

相关文章: