机器学习实战peter Harrington——学习笔记

  • 综述
    • 数据挖掘十大算法
    • 本书结构
  • 一、机器学习基础
    • 1.1 机器学习
    • 1.2 关键术语
    • 1.3 机器学习主要任务
    • 1.4 如何选择合适的算法
    • 1.5 开发机器学习应用程序的步骤

综述

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

数据挖掘十大算法

数据以及基于数据做出决策是非常重要的,本书内容也是来源于数据——“数据挖掘十大算 法”是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)使用算法

【1】机器学习实战peter Harrington——学习笔记相关推荐

  1. python3《机器学习实战系列》学习笔记----3.2 决策树实战

    前言 一.ID3算法构造决策树 1.1 背景 1.2 信息增益计算 1.3 递归生成决策树 二.使用Matplotlib注解绘制树形图 2.1 Matplotlib注解 2.2 构造注解树 三.测试和 ...

  2. 《机器学习实战》kNN学习笔记

    <机器学习实战>kNN学习笔记 文章目录 <机器学习实战>kNN学习笔记 概述 优缺点 k-近邻算法的一般流程 简单案例kNN.py 在约会网站上使用k-近邻算法 归一化特征值 ...

  3. 1.5 Hello, world! 解剖 -JSF实战 -hxzon -jsf学习笔记

    为什么80%的码农都做不了架构师?>>>    1.5 Hello, world! 解剖 -JSF实战 -hxzon -jsf学习笔记 既然已经对JSF能够解决什么问题有了初步理解, ...

  4. 机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录

    一.序言 微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本.期间各版本之间差异(包括命名空间.方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了.之前在园子里也看到 ...

  5. 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)

    一.概述 上一篇文章我们利用ML.NET的多元分类算法实现了一个手写数字识别的例子,这个例子存在一个问题,就是输入的数据是预处理过的,很不直观,这次我们要直接通过图片来进行学习和判断.思路很简单,就是 ...

  6. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中

    本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,此套教程共5章,加起来共有34节课,内容非常详细丰富!如果你也要这套视频教程的话,关注我公众号[小众技术] ...

  7. MySQL实战45讲学习笔记

    文章目录 MySQL实战45讲-学习笔记 01 基础架构:一条SQL查询语句是如何执行的? mysql逻辑架构 连接器 查询缓存 分析器 优化器 执行器 02 日志系统:一条SQL更新语句如何执行 r ...

  8. vn.py全实战进阶课程学习笔记(零)

    目录 写在前面 MySQL数据库配置 安装mysq 创建数据库 vnpy数据库配置 rqdata数据服务配置 申请rqdata试用权限 vnpy参数配置 simnow仿真环境配置 准备账号 接口登录 ...

  9. 百度飞桨2021李宏毅机器学习特训营学习笔记之回归及作业PM2.5预测

    百度飞桨2021李宏毅机器学习特训营学习笔记之回归及作业PM2.5预测 前言 回归 什么是回归(Regression)? 怎么做回归? 线性回归(Linear Regression) 训练集与验证集 ...

最新文章

  1. 【AutoML】优化方法可以进行自动搜索学习吗?
  2. ubuntu 设置清华源、阿里云源
  3. Docker - 容器部署 Consul 集群
  4. PHP_正则_获取图片所有属性
  5. 在codeigniter中使用Cache_Lite来缓存
  6. Spark之RDD实战2
  7. linux mount_nodev函数,mount()函数 Unix/Linux
  8. 安装slide后Powerpoint 不自动退出的解决方案
  9. python ssh登录交换机_python使用paramiko模块通过ssh2协议对交换机进行配置的方法...
  10. [乱七八糟]分享今晚瞎逛来的网络东东
  11. BOS v2.0后台管理系统界面通用解决方案
  12. 行政区域村级划分数据库_两区划定数据库规范标准
  13. 扫普通二维码打开小程序,可进入体验版
  14. android 键盘 横屏 边框,Android横屏时软键盘全屏问题
  15. C语言中file文件指针概念及其操作 (转载)
  16. react 实现图片的滚动缩放和按住鼠标左键移动图片效果
  17. python标准数据类型叮叮叮
  18. 《iOS APP 性能检测》
  19. 学生信息管理系统——查询学生信息(Java+web综合)
  20. 什么品牌的护眼台灯比较好?护眼效果最好的台灯推荐

热门文章

  1. 知识积累:EasyExcel导出Excel带中文水印,中文乱码处理,JDK8 jwt.font中文乱码解决方案
  2. 将秒数转换成几分几秒
  3. 【安全练兵场】| BurpSuite靶场系列之命令注入(5个实验)
  4. 单片微型计算机原理及应用第三版,单片微型计算机原理及应用 课后习题答案 山东理工...
  5. Java集成第三方OCR识别——文档篇
  6. MATLAB无法显示中文(中文显示为???)
  7. Android视频加密那点事儿!
  8. Thinkcmf伪静态设置,url美化
  9. vulnhub之VENOM:1
  10. 机器学习实验2 / 逻辑回归