《机器学习》这本书算是很好的一本了解机器学习知识的一本入门书籍吧,是南京大学周志华老师所著的鸿篇大作,很早就听闻周老师大名了,算是国内机器学习领域少数的大牛了吧,刚好研究生做这个方向相关的内容,所以今天买了一本所谓的西瓜书,准备研读,光读书记性不好,边读边做笔记练习印象深刻,接下来我就把自己的学习过程按每章节的内容整理如下:

Day1 第一章 绪论部分

本书作者周志华老师通过聊天的口吻开篇,以日常生活的小案例和场景,向读者介绍什么是机器学习,以及什么是学习算法。在这一章介绍了很多机器学习相关的术语概念。

首先,要做学习,先得有数据,我们要学习的对象记录收集起来组成的集合叫做一个“数据集(data set)”,把里面记录、对象的描述,称为一个“示例(instance)”或者“样本(sample)”,反应集合内事件或对象在某方面的表现或性质的事项,我们把它称为“属性(attribute)”或“特征(feature)”,属性张成的空间称为“属性空间(attribute space)”、 “样本空间(sample space)” 或者“输入空间”,由于空间中的每一个点对应一个坐标向量,因此我们把一个示例称为一个“特征向量(feature vector)”,这里的属性数量就是我们说的样本的“维数(dimensionality)”

上面得到了数据了,我们要从数据中学得模型的过程叫“学习(learning)”或者“训练(training)”,在这个过程执行某个学习算法来完成,训练的过程使用的数据称为“训练数据(集)(training data)”,这其中的每一个小样本叫一个“训练样本(training sample)”,训练样本构成的集合组成的集合叫做“训练集training set”,训练得到的模型对应数据的某种潜在的规律,把这种结果称为“假设(hypothesis)”,我们要用学习的结果来“预测(prediction)”,用学得模型进行预测的过程称为“测试(testing)”,被预测的样本叫“测试样本(testing sample)”。

我们要预测的是离散值,这类学习任务称为“分类(classification)”,要预测的是连续值,把这类学习任务称为“回归(regression)”,当然我们也可以对数据做“聚类(clustering)”,即把训练集中的对象分成若干组,每个组称为一个“簇(cluster)”。

我们根据训练数据是否拥有标记信息,学习任务可大致分为两大类:“监督学习(supervised learning)”和“无监督学习(unsupervised learning)”,分类和回归是前者的代表,聚类是后者的代表。

学得的模型适用于新样本的能力,称为“泛化(generation)”。

通常,我们假设样本空间中全体样本服从一个未知“分布(distribution)”,我们获得的每一个样本都是独立从这分布上采样得到的,即“独立同分布(independent and identically distributed简称i.i.d.)”。

归纳(induction)和演绎(deduction)是科学推理的两大基本手段,前者是从特殊到一般的“泛化(generation)”过程,后者是一般到特殊的“特化(specialization)”过程,如数学上由数学公理推出与之相洽的定理,这是演绎过程,而“从样本中学习”是一个归纳过程,叫做“归纳学习(inductive learning)”。

归纳学习中有归纳偏好,这里遵循奥卡姆剃刀原则。

发展历程:机器学习是人工智能(artificial intelligence)研究发展到一定阶段的必然产物。二十世纪五十年代到七十年代,人工智能研究处于“推理期”,那时的人们认为只要能赋予机器逻辑推理能力,机器就能拥有智能。二十世纪七十年代中期开始,人工智能研究进入“知识期”,这一时期大量的专家系统问世。二十世纪八十年代是机器学习成为一个独立的学科领域,各种机器学习技术百花初绽的时期。二十世纪九十年代中期,“统计学习(statistical learning)”闪亮登场并迅速占据主流舞台,代表技术是支持向量机(Support Vector Machine,简称SVM)以及更一般的“核方法(kernel methods)”。二十一世纪初,连接主义学习又卷土从来(五十年代中后期基于神经网络的“连接主义”),掀起了以“深度学习”为名的热潮,所谓深度学习,狭义地说就是“很多层”的神经网络

现在,机器学习已经发展成为一个相当大的学科领域,当今算力的提升和大数据的加持,逐步把机器学习推向高潮。

  (第一章笔记到此,继续学习后续章节)

Day1 《机器学习》第一章学习笔记的更多相关文章

  1. Spring实战第一章学习笔记

    Spring实战第一章学习笔记 Java开发的简化 为了降低Java开发的复杂性,Spring采取了以下四种策略: 基于POJO的轻量级和最小侵入性编程: 通过依赖注入和面向接口实现松耦合: 基于切面 ...

  2. [蛙蛙推荐]SICP第一章学习笔记-编程入门

    本书简介 <计算机程序的构造与解释>这本书是MIT计算机科学学科的入门课程, 大部分学生在学这门课程前都没有接触过程序设计,也就是说这本书是针对编程新手写的. 虽然是入门课程,但起点比较高 ...

  3. 《Django By Example》第一章 学习笔记

    首先看了下目录,在这章里 将会学到 安装Django并创建你的第一个项目 设计模型(models)并且生成模型(model)数据库迁移 给你的模型(models)创建一个管理站点 使用查询集(Quer ...

  4. 《Java基础教程》第一章学习笔记

    Java 是什么呀! 计算机语言总的来说分成机器语言,汇编语言,高级语言.其中Java一种高级计算机语言,它是一种可以编写跨平台应用软件,完全面向对象的程序设计语言. Java划分为三个技术平台,Ja ...

  5. 【Python自然语言处理】第一章学习笔记——搜索文本、计数统计和字符串链表

    这本书主要是基于Python和一个自然语言工具包(Natural Language Toolkit, NLTK)的开源库进行讲解 NLTK 介绍:NLTK是一个构建Python程序以处理人类语言数据的 ...

  6. <<学会提问>>第一章学习笔记

    中国应不应该现在取消死刑? 中医是不是伪科学? 读书无用论? 集体主义和团队精神? 欧洲难民危机,你是支持接收难民,还是反对? 欧洲白左是不是幼稚圣母,抑或是右派种族歧视,顽固保守? 如何看待&quo ...

  7. Scala第一章学习笔记

    面向对象编程是一种自顶向下的程序设计方法.用面向对象方法构造软件时,我们将代码以名词(对象)做切割,每个对象有某种形式的表示服(self/this).行为(方法).和状态(成员变量).识别出名词并且定 ...

  8. CSAPP:第一章学习笔记:斗之气1段

    一.信息就是位+上下文:系统中的所有信息(包括磁盘文件.内存中的程序.网络上传送的数据),都是由一串比特表示,根据上下文对这些比特表示进行翻译. 二.C程序编译过程 1.源码结构 // test.c ...

  9. 《Linux内核设计与实现》 第一二章学习笔记

    <Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...

随机推荐

  1. iOS下FMDB的多线程操作(二)

    上一篇记录不使用FMDatabaseQueue来使用多线程,这一篇记录一下使用FMDatabaseQueue的方式. 需要注意的时queue操作中不能嵌套queue操作,否则会各种错误. 当使用FMD ...

  2. mysql随笔

    MySQL查询优化器--非SPJ的优化 MySQL查询优化器--非SPJ优化(一)--GROUPBY优化 http://blog.163.com/li_hx/blog/static/183991413 ...

  3. 面试之路(10)-BAT面试之java实现单链表的插入和删除

    链表的结构: 链表在空间是不连续的,包括: 数据域(用于存储数据) 指针域(用于存储下一个node的指针) 单项链表的代码实现: 节点类 构造函数 数据域的get,set方法 指针域的get,set方 ...

  4. gcc如何生成预编译头文件(.gch)

    1 建立comm.h 2 main.c中包含comm.h : #include "comm.h" 3 gcc -o comm.h.gch comm.h(低版本gcc会有bug) 4 ...

  5. OpenShift实战(七):OpenShift定制镜像S2I

    1.基础镜像制作 由于公司的程序是Java开发,上线发布使用的是maven,如果使用openshift自带的S2I,每次都会全量拉取代码(代码比较多,每次全量拉太慢),然后每次打包都会再一次下载mav ...

  6. html5中的网页结构

    一.html5中的大纲 在html5中,使用各种结构元素所描述出来的整个网页的层次结构,就是该网页的大纲.因此在组织这份大纲的时候,不能使用div元素,因为div元素只能当做容器,用在需要对网页中某个 ...

  7. Python的lambda

    if else 可以用简单的三元运算符表示 if 1 == 1: name = 'wupeiqi' else: name = 'alex' --> name = 'wupeiqi' if 1 = ...

  8. N-Queens(N皇后问题)

    题目: The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two que ...

  9. sqlplus 登录数据库

     sqlplus pams/pamscncc@ORCLMIS

  10. windows环境下zookeeper安装和使用

    一.简介        zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一 ...