Day1 《机器学习》第一章学习笔记
《机器学习》这本书算是很好的一本了解机器学习知识的一本入门书籍吧,是南京大学周志华老师所著的鸿篇大作,很早就听闻周老师大名了,算是国内机器学习领域少数的大牛了吧,刚好研究生做这个方向相关的内容,所以今天买了一本所谓的西瓜书,准备研读,光读书记性不好,边读边做笔记练习印象深刻,接下来我就把自己的学习过程按每章节的内容整理如下:
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 《机器学习》第一章学习笔记的更多相关文章
- Spring实战第一章学习笔记
Spring实战第一章学习笔记 Java开发的简化 为了降低Java开发的复杂性,Spring采取了以下四种策略: 基于POJO的轻量级和最小侵入性编程: 通过依赖注入和面向接口实现松耦合: 基于切面 ...
- [蛙蛙推荐]SICP第一章学习笔记-编程入门
本书简介 <计算机程序的构造与解释>这本书是MIT计算机科学学科的入门课程, 大部分学生在学这门课程前都没有接触过程序设计,也就是说这本书是针对编程新手写的. 虽然是入门课程,但起点比较高 ...
- 《Django By Example》第一章 学习笔记
首先看了下目录,在这章里 将会学到 安装Django并创建你的第一个项目 设计模型(models)并且生成模型(model)数据库迁移 给你的模型(models)创建一个管理站点 使用查询集(Quer ...
- 《Java基础教程》第一章学习笔记
Java 是什么呀! 计算机语言总的来说分成机器语言,汇编语言,高级语言.其中Java一种高级计算机语言,它是一种可以编写跨平台应用软件,完全面向对象的程序设计语言. Java划分为三个技术平台,Ja ...
- 【Python自然语言处理】第一章学习笔记——搜索文本、计数统计和字符串链表
这本书主要是基于Python和一个自然语言工具包(Natural Language Toolkit, NLTK)的开源库进行讲解 NLTK 介绍:NLTK是一个构建Python程序以处理人类语言数据的 ...
- <<学会提问>>第一章学习笔记
中国应不应该现在取消死刑? 中医是不是伪科学? 读书无用论? 集体主义和团队精神? 欧洲难民危机,你是支持接收难民,还是反对? 欧洲白左是不是幼稚圣母,抑或是右派种族歧视,顽固保守? 如何看待&quo ...
- Scala第一章学习笔记
面向对象编程是一种自顶向下的程序设计方法.用面向对象方法构造软件时,我们将代码以名词(对象)做切割,每个对象有某种形式的表示服(self/this).行为(方法).和状态(成员变量).识别出名词并且定 ...
- CSAPP:第一章学习笔记:斗之气1段
一.信息就是位+上下文:系统中的所有信息(包括磁盘文件.内存中的程序.网络上传送的数据),都是由一串比特表示,根据上下文对这些比特表示进行翻译. 二.C程序编译过程 1.源码结构 // test.c ...
- 《Linux内核设计与实现》 第一二章学习笔记
<Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...
随机推荐
- Android特效专辑(十)——点击水波纹效果实现,逻辑清晰实现简单
Android特效专辑(十)--点击水波纹效果实现,逻辑清晰实现简单 这次做的东西呢,和上篇有点类似,就是用比较简单的逻辑思路去实现一些比较好玩的特效,最近也是比较忙,所以博客更新的速度还得看时间去推 ...
- TCP连接建立系列 — 服务端接收SYN段
本文主要分析:服务器端接收到SYN包时的处理路径. 内核版本:3.6 Author:zhangskd @ csdn blog 接收入口 1. 状态为ESTABLISHED时,用tcp_rcv_esta ...
- hadoop的节点间的通信
一个DataNode上的Block是唯一的,多个DataNode可能有相同的Block. 2)通信场景: (1)NameNode的映射表上不永久保存每个DataNode所对应的block信息,而是通过 ...
- Mybatis源码之SimpleExecutor
/** * @author Clinton Begin */ public class SimpleExecutor extends BaseExecutor { public SimpleExecu ...
- Mac OS X 10.10优胜美地如何完美接管iphone上的电话和短信
自从今年苹果第一次的发布会上毛猫就特别注意这个功能,感觉特别Cool,特别方便.但直到今天毛猫才第一次成功测试出这个功能呀!虽然handoff功能还未测出来,但是觉得在mac上发短信和打电话也已经足够 ...
- ubuntu下ruby文件执行蛋疼的一个问题
ubuntu下面用sublime打开非常简单的一段代码(其实不算代码,因为没有实际语句): #!/usr/bin/ruby 在shell下加入x权限:chmod u+x doit.rb,然后运行 ./ ...
- mongodb3.6 (五)net 客户端访问mongodb设置超时时间踩过的“坑”
前言 在上一篇文章中,我们有提到net访问mongodb连接超时默认为30秒,这个时间在实际项目中肯定是太长的.而MongoClientSettings 也确是提供了超时属性,如下图: 可实际使用中, ...
- Map 遍历分析
1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多.理由是:entrySet方法一次拿到所有key和value的集合:而keySet拿到的 ...
- 使用javascript中读取Xml文件做成的一个二级联动菜单
[html] view plaincopy <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...
- Math类的方法应用
class Mortgage { public static void main(String[]args) { double P=Double.parseDouble(args[0]); doubl ...