【1】机器学习实战peter Harrington——学习笔记

综述

机器学习算法在包含信息检索和数据挖掘在内的多个领域都有着十分广泛的应用。本书没有从理论角度来揭示机器学习算法背后的数学原理,而是通过“原理简述+问题实例+ 实际代码+运行效果”来介绍每一个算法。

数据挖掘十大算法

数据以及基于数据做出决策是非常重要的,本书内容也是来源于数据——“数据挖掘十大算 法”是IEEE数据挖掘国际会议(ICDM)上的一篇论文,2007年12月在Journal of Knowledge and Information Systems杂志上发表。依据知识发现和数据挖掘国际会议(KDD)获奖者的问卷调查 结果,论文统计出排名前十的数据挖掘算法。本书的基本框架与论文中提到的算法基本一致。

论文选出的机器学习算法包括:C4.5决策树、K-均值(K-mean)、支持向量机(SVM)、Apriori、 最大期望算法(EM)、PageRank算法、AdaBoost算法、k-近邻算法(kNN)、朴素贝叶斯算法(NB) 和分类回归树(CART)算法。

本书结构

1、分类(一-七)
第一部分首先介绍了机 器学习的基础知识,然后讨论如何使用机器学习算法进行分类。

2、利用回归预测数值型数据(八-九)
第二部分包含两章,讨论连续型数值的回归预测问题。

3、无监督学习(十-十二)
前两部分讨论的监督学习需要用户知道目标值,简单地说就是知道在数据中寻找什么。而第 三部分开始讨论的无监督学习则无需用户知道搜寻的目标,只需要从算法程序中得到这些数据的 共同特征。

4、其他工具
略。
在这里插入图片描述

一、机器学习基础

1.1 机器学习

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

机器学习横跨计算机科学、工程技术和统计学等多个学科,需要多学科的专业知识。稍后你 就能了解到,它也可以作为实际工具应用于从政治到地质学的多个领域,解决其中的很多问题。 甚至可以这么说,机器学习对于任何需要解释并操作数据的领域都有所裨益。

机器学习用到了统计学知识。拿工程实践来说,它要利用科学知识来解决具体问题,在该领域中,我们常会面对那种解法确凿不变 的问题。假如要编写自动售货机的控制软件,那就最好能让它在任何时候都能正确运行,而不必让 人们再考虑塞进的钱或按下的按钮。然而,在现实世界中,并不是每个问题都存在确定的解决方案。 在很多时候,我们都无法透彻地理解问题,或者没有足够的计算资源为问题精确建立模型,例如我 们无法给人类活动的动机建立模型。为了解决这些问题,我们就需要使用统计学知识。

机器学习非常重要。在过去的半个世纪里,发达国家的多数工作岗位都已从体力劳动转化为脑力劳动。过去的工 作基本上都有明确的定义,类似于把物品从A处搬到B处,或者在这里打个洞,但是现在这类工 作都在逐步消失。现今的情况具有很大的二义性,类似于“最大化利润”,“最小化风险”、“找到 最好的市场策略”……诸如此类的任务要求都已成为常态。虽然可从互联网上获取到海量数据, 但这并没有简化知识工人的工作难度。针对具体任务搞懂所有相关数据的意义所在,这正成为基本的技能要求。

大量的经济活动都依赖于信息,我们不能在海量的数据中迷失,机器学习将有助于我们穿越 数据雾霭,从中抽取出有用的信息。

1.2 关键术语

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

最终我们决定使用某个机器学习算法进行分类,首先要做的就是算法训练,即学习如何分类。

训练集。通常我们为算法输入大量已分类数据作为算法的训练集。训练集是用于训练机器学习算法的数据样本集合。

注意,特征或者属性通常是训练样本集的列,它们是独立测量得到的结果,多个特征联系在一 起共同组成一个训练样本。

为了测试机器学习算法的效果,通常使用两套独立的样本集:训练数据和测试数据。当机器 学习程序开始运行时,使用训练样本集作为算法的输入,训练完成之后输入测试样本。输入测试 样本时并不提供测试样本的目标变量,由程序决定样本属于哪个类别。比较测试样本预测的目标 变量值与实际样本类别之间的差别,就可以得出算法的实际精确度。

1.3 机器学习主要任务

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

机器学习的另一项任务是回归,它主要用于预测数值型数据。它大多数人可能都见过回归的 例子——数据拟合曲线:通过给定数据点的最优拟合曲线。

分类和回归属于监督学习,之所以称 之为监督学习,是因为这类算法必须知道预测什么,即目标变量的分类信息。

与监督学习相对应的是无监督学习,此时数据没有类别信息,也不会给定目标值。

在这里插入图片描述

1.4 如何选择合适的算法

考虑下面两个问题:一、使用机器学习 算法的目的,二、需要分析或收集的数据是什么。

首先考虑使用机器学习算法的目的。如果想要预测目标变量的值,则可以选择监督学习算法, 否则可以选择无监督学习算法。

确定选择监督学习算法之后,需要进一步确定目标变量类型,如 果目标变量是离散型,如是/否、1/2/3、A/B/C或者红/黄/黑等,则可以选择分类器算法;如果目 标变量是连续型的数值,如0.0~100.00、999~999或者+∞~∞等,则需要选择回归算法。

如果不想预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分 为离散的组。如果这是唯一的需求,则使用聚类算法;如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。

其次需要考虑的是数据问题。应该了解数据的以下特性:特征值是离散型变量还是连续型变量,特征值中是否存在缺失的值,何种原因造成缺失值,数据中是否存在异常值,某个特征发生 的频率如何(是否罕见得如同海底捞针),等等。

1.5 开发机器学习应用程序的步骤

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

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手可摘辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值