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中一切皆 ...
随机推荐
- 【Qt编程】3D迷宫游戏
说起迷宫想必大家都很熟悉,个人感觉迷宫对人的方向感是很大的考验,至少我的方向感是不好的,尤其是在三维空间中.由于这段时间帮导师做项目用到了三维作图,便心血来潮想做个三维迷宫玩玩.要想画出三维的迷宫游戏 ...
- git rebase之前需要commit才行
更新好本地代码后,git fetch, 接着合并,但是git rebase 不行, git status一看,有很多更新的文件. 于是 git add --后,再rebase,还是不行. 注意,reb ...
- 遗传算法解决TSP问题实现以及与最小生成树的对比
摘要: 本实验采用遗传算法实现了旅行商问题的模拟求解,并在同等规模问题上用最小生成树算法做了一定的对比工作.遗传算法在计算时间和占用内存上,都远远优于最小生成树算法. 程序采用Microsoft vi ...
- python简单线程和协程学习
python中对线程的支持的确不够,不过据说python有足够完备的异步网络框架模块,希望日后能学习到,这里就简单的对python中的线程做个总结 threading库可用来在单独的线程中执行任意的p ...
- Qt Creator 更改默认构建目录到工程目录下
Qt Creator 更改默认构建目录到工程目录下 步骤 工具->选项->构建和运行->概要->Default build directory->去掉第一个". ...
- (WPS) 网络地理信息处理服务
WPS 标准为网络地理信息处理服务提供了标准化的输入和输出. OGC® Web Processing Service (WPS) 标准描述了如何通过远程的任何算法和模型处理获得地理空间的栅格或矢量信息 ...
- mongodb3.6 (四)net 客户端如何连接、访问mongodb集群
前言 在是一篇文章mongodb如何做数据备灾 中已经介绍mongodb集群是如何工作,可能很多人都有这样一个疑问:客户端如何知道主服务挂了呢?这一篇文章将介绍如何在net中访问这个集群. 第一步.安 ...
- java并发包分析之———concurrentHashMap
一.Map体系 Hashtable是JDK 5之前Map唯一线程安全的内置实现(Collections.synchronizedMap不算).Hashtable继承的是Dictionary(Hasht ...
- remove the nth node from the end of the list
problem description: remove the nth node from the end of the list for example: given: 1->2->3 ...
- git命令行常用几个指令(细节问题)
GIT PUSH/PULL时总需要输入用户名密码的解决方案: git config --global credential.helper store 查看当前的配置信息: git config --s ...