机器学习实战之准备(一)

作者: 凌岸_ing | 来源:发表于2017-06-03 23:57 被阅读77次

目录

机器学习简单概述

机器学习的主要任务

学习机器学习的原因

python语言优势

1.1 何谓机器学习

简单的说,机器学习就是把无序的数据变换成有用的信息。

机器学习的主要任务就分类。

机器学习关键术语:

分类;训练集;样本集;训练样本;目标样本;知识表示

训练集是用于机器学习算法的数据样本集合

1.3 机器学习的主要任务

机器学习的主要如何解决分类问题,主要任务是将实例数据划分到合适的分类中。

机器学习的另一项任务就是回归。(回归的例子之一就是 数据拟合曲线)

分类和回归属于监督学习。

监督学习:因为这类算法必须知道预测什么,即目标变量的分类信息。

无监督学习:此时数据没有类别信息,也不会给定目标值。无监督学习可以减少数据特征的维度,使我们用二维图或三维图更加直观地展示数据信息。

聚类:数据集合分成类似的对象组成多个类的过程。

密度估计:寻找描述数据统计值的过程。

1.4 如何选择合适的算法

先考虑两个问题:

使用机器学习算法的目的,想要完成何种任务?

需要分析或收集的数据是什么?(了解数据的以下特征:特征值是离散变量还是连续型变量,特征量是否存在缺失的值)

我们只能一定程度上缩小算法的选择范围,一般不存在最好的算法或给出最好结果的算法,同时还要尝试不同算法的执行效果。

发现最好的算法的关键环节是反复试错的过程。

1.5 开发及其学习应用程序的步骤

收集数据。我们有很多办法收集数据,如爬虫,设备发送的信息。

准备输入数据。确保数据的格式符合要求。本书采用python的List

分析输入数据。手工打开文本编辑器,看数据是否为空。浏览数据,分析是否可以识别模式。确保数据集中没有垃圾数据。

训练算法。将前两步得到的格式化的数据输入到算法,从中抽取知识和信息。得到的知识需要存储为计算机可以处理的格式。

测试算法。将实际使用第4步得到的算法。对于监督学习,必须已知用于评估算法的目标变量值;对于无监督学习,也必须用到其他的评测手段来检验算法的成功率。

使用算法。将机器学习算法转换为应用程序,执行实际任务。

1.6 python语言的优势

有以下几个原因:(1)python的语法清晰;(2)易于操作的纯文本文件;(3)使用广泛,存在大量的开发文档

1.7 NumPy函数基础

下面给出一个数组和矩阵的例子:

In [1]:import numpy as np

In [2]:x=np.random.rand(4,4)

In [3]:x

Out[3]:

array([[ 0.52844327, 0.22339639, 0.1034135 , 0.463985 ],

[ 0.14394297, 0.04331558, 0.17968244, 0.55428581],

[ 0.29320121, 0.4110452 , 0.6663981 , 0.14709608],

[ 0.69421236, 0.77925693, 0.64956842, 0.13911624]])

上述命令构造了一个4*4的随机数组。

In [6]:np.mat(x)

Out[6]:

matrix([[ 0.52844327, 0.22339639, 0.1034135 , 0.463985 ],

[ 0.14394297, 0.04331558, 0.17968244, 0.55428581],

[ 0.29320121, 0.4110452 , 0.6663981 , 0.14709608],

[ 0.69421236, 0.77925693, 0.64956842, 0.13911624]])

In [7]:randMat=np.mat(x)

调用mat()函数将数组转行为矩阵。

In [8]:randMat.I

Out[8]:

matrix([[ 5.20712532, -4.48860333, 3.32227592, -2.99571552],

[-5.6330336 , 4.87766411, -6.17839321, 5.88601676],

[ 1.49156708, -1.72882662, 4.23683893, -2.56636519],

[-1.3955605 , 3.14903216, -1.75339714, 1.14992431]])

In [9]:invRandMat=randMat.I

.I 操作符实现了矩阵的求逆运算。

In [10]:randMat*invRandMat

Out[10]:

matrix([[ 1.00000000e+00, -4.44089210e-16, 4.44089210e-16,

-2.22044605e-16],

[ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,

0.00000000e+00],

[ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00,

0.00000000e+00],

[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,

1.00000000e+00]])

In [11]:myEye=randMat*invRandMat

执行了矩阵乘法,得到矩阵与其逆矩阵相乘的结果。

In [13]:myEye-np.eye(4)

Out[13]:

matrix([[ 0.00000000e+00, -4.44089210e-16, 4.44089210e-16,

-2.22044605e-16],

[ 0.00000000e+00, -1.11022302e-16, 0.00000000e+00,

0.00000000e+00],

[ 0.00000000e+00, 0.00000000e+00, -4.44089210e-16,

0.00000000e+00],

[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,

4.44089210e-16]])

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

1.8 本章小结

学习机器学习算法,必须了解数据实例,每个数据实例由多个特征值组成。分类是基本的机器学习任务,它分析未分类数据,以确定如何将其放入已知群组中。为了构建和训练分类器,必须首先输入大量已知分类的数据,我们将这些数据称之为训练样本集。

本节笔记来自,《机器学习实战》,作者:Peter Harrington,出版社: 人民邮电出版社

原作名: Machine Learning in Action,译者: 曲亚东 / 李锐 / 王斌 / 李鹏

相关文章

  • K-Means算法

    参考链接:1. python机器学习实战之K均值聚类2. 机器学习实战之K-Means算法3.《机器学习实战》(十...

  • 机器学习实战之准备(一)

    目录 机器学习简单概述 机器学习的主要任务 学习机器学习的原因 python语言优势 1.1 何谓机器学习 简单的...

  • 支持向量机(SVM)入门理解与推导

    首先推荐:机器学习实战教程(八):支持向量机原理篇之手撕线性SVM机器学习实战教程(九):支持向量机实战篇之再撕非...

  • web安全深度学习实战

    《web安全之深度学习实战》是作者刘焱《Web安全之机器学习入门》之后又一作品。讲解了11个使用机器学习技术解决实...

  • 机器学习实战中文版 pdf高清+源代码

    机器学习实战中文版 pdf高清+源代码 《机器学习实战》介绍并实现机器学习的主流算法,面向日常任务的高效实战内容,...

  • 机器学习实战-knn

    机器学习实战笔记-knn算法实战 本文内容源于《机器学习实战》一书,主要介绍了knn(k-nearest neig...

  • 2019-03-29

    <<机器学习实战>>--策略梯度

  • 思维导图

    《机器学习实战》思维导图 过完书后可以查漏补缺,温故知新。 《机器学习实战》读书笔记

  • 【机器学习实战】Logistic回归(一)

    【机器学习实战】Logistic回归 全部程序均是依照《机器学习实战》书写,然后进行了一些修改(顺便巩固pytho...

  • 【好书推荐】机器学习书单

    今天推荐的图书专注机器学习主题,一共7本,都是经过实践检验的好书——《机器学习》《图解机器学习》《机器学习实战》《...

网友评论

    本文标题:机器学习实战之准备(一)

    本文链接:https://www.haomeiwen.com/subject/lozmfxtx.html