学习之路 | 《机器学习》西瓜书白话学习笔记-第1~7章
开源链接南瓜书PumpkinBook
第一章 .绪论
第二章 .模型评估 :个人觉得对需要写论文或实验报告,比较研究算法性能的同学帮助比较大,对注重做项目实践的同学只需了解即可。
1 误差与过拟合
即如果在m个样本中有a个样本分类错误,则错误率E=a/m;相应的1-a/m称为“精度”(accuracy),即“精度=1-错误率”,更一般地,我们把学习器的实际预测输出与样本的真实输出之间的差异称为“误差”(error)学习器在训练集上的误差称为“训练误差”(trainingerror)或“经验误差”(empirical error),在新样本上的误差称为“泛化误差”(generalization)
当学习器把训练样本学得“太好”了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降,这种现象在机器学习中称为“过拟合”(overfitting).与“过拟合”相对的是“欠拟合”(underfitting ,这是指对训练样本的一般性质尚未学好
2 评估方法 个人理解更偏向是划分数据的方法
训练集: 放入模型中进行学习的数据。
测试集 : 使用一个“测试集”(testing set)来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”(testingerror)作为泛化误差的近似,通常测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用过。
通常使用 留出法 。进行分层采样,例如通过采样得到70%训练集与30%测试集,需要注意的是,以2分类任务为例,若70%的数据里正例与假例为1:1,则30&的数据里正例:假例也最好接近1:1。
(拓展:目标识别中制作VOC数据集时用到的train和trainval和test,trainval是训练过程中的测试集,是为了让你在边训练边看到训练的结果,及时判断学习状态,test是训练结束后,测试训练结果的测试集。例如,训练0-500次迭代过程中,正常情况下train和trainval的loss是不断降低的,如果500-600过程中train的loss不断降低,而trainval的loss不降反升,那么就证明继续训练下去,模型只是对train dataset这部分拟合的特别好,但是泛化能力很差。与其选取600次的结果,不如选择500次的结果。而test数据集则是在训练结束后,用于推理使用的数据,检验模型识别的效果。)
此外还有 交叉验证法 自助法 。
3 性能度量 衡量模型泛化能力的标准
(这里由于需求着重看了与回归任务与南瓜书重要公式推导理解有关的部分)
3.1 回归任务中常用的性能度量是“均方误差”
3.2 ROC与AUC 可用于比较学习器性能
ROC曲线的具体绘制过程:
假设我们已经训练得到一个学习器f(s)f(s),现在用该学习器来对我们的8个测试样本(4个正例,4个反例,也即m^+=m^-=4m+=m−=4)进行预测,假设预测结果为:
(s1,0.77,+),(s2,0.62,−),(s3,0.58,+),(s4,0.47,+),(s5,0.47,−),(s6,0.33,−),(s7,0.23,+),(s8,0.15,−)
数字表示学习器f(s)f(s)预测该样本为正例的概率。
分类阈值设为一个不可能取到的最大值,显然这时候所有样本预测为正例的概率都一定小于分类阈值,那么预测为正例的样本个数为0,相应的真正例率和假正例率也都为0,所以此时我们可以在坐标(0,0)(0,0)处打一个点。接下来我们需要把分类阈值从大到小依次设为每个样本的预测值,也就是依次设为0.77、0.62、0.58、0.47、0.33、0.23、0.150.77、0.62、0.58、0.47、0.33、0.23、0.15,然后每次计算真正例率和假正例率,再在相应的坐标上打一个点,最后再将各个点用直线串连起来即可得到ROC曲线。
而AUC则是对ROC曲线下的面积求和,理解起来十分简单。
AUC的计算公式
若一个学习器的ROC 曲线被另一个学习器的曲线完全 包住”,则可断言后者的性能优于前者:若两个学习器的ROC曲线发生交叉,则难以一般性地断言两者孰优孰劣,此时如果一定要进行比较,则较为合理的判据是比较ROC曲线下的面积,即AUC(AreaUnder ROC Curve)
4 偏差与方差 :解释学习算法泛化能力的工具 泛化误差可分解为偏差、方差与噪声之和
对测试样本x,令y(d)为x在数据集中的标记,y为x的真实标记,f(x;D)为训练集 D上学得模型f在x上的预测输出.以回归任务为例,
期望预测为
也就是说,泛化误差可分解为偏差、方差与噪声之和
第三章 .线性模型
把w替换成β b替换成u 用多元线性回归矩阵表示应该如下图(一些线性代数知识)
用一个判断好西瓜的例子理解,如书上所言
一、 线性回归
1. 理解回归 通俗的理解就是根据样本建模,使数学模型能较好地拟合出样本的变化趋势,
2. 线性代数基础运算方法 第二讲:线性代数(一)_哔哩哔哩_bilibili
3 .什么是均方误差(方差E),均方误差对应了几何中的欧氏距离
方差在之后用E(w,b)表示
因此欧式距离之和可以表示为
2. 理解最小二乘法
·用数学求解的方式,使均方误差最小化,找到一条这样的直线,使所有样本到直线上的欧氏距离之和最小 用一张图理解它的作用,红色的线是用最小二乘法找到的直线,蓝色点是样本
它的计算方式就是 用均方误差对w和b求偏导 ,再使其等于0
5. 线性判别
简单理解: 找到一条直线,使类别相同的样本到直线的映射尽可能相近,不通类别的中心距离尽可能相远
二、逻辑回归
逻辑回归的模型是一个非线性的函数 主要实现二分类任务
那么如果是二分类我们可以用一个这样的图是表示
以0为界二分类,但这样的函数不可导,数学形性质较差,因此找到了sigmoid函数,用回归的思想解决分类问题
sigmoid函数既有线性函数的特点,又具有线性函数没有的特点—》能很好的处理分类问题
计算部分可以看这个视频 【机器学习 | 逻辑回归】20分钟搞懂逻辑回归 / 理论部分 / 机器学习分类问题(文刀出品)_哔哩哔哩_bilibili
三、多分类学习
第四章 .决策树
学习之路 | 《机器学习》西瓜书白话学习笔记-第1~7章相关推荐
- 《机器学习西瓜书》学习笔记——第七章_贝叶斯分类器_朴素贝叶斯分类器
朴素:特征条件独立:贝叶斯:基于贝叶斯定理. 朴素贝叶斯是经典的机器学习算法之一,也基于概率论的分类算法,属于监督学习的生成模型.朴素贝叶斯原理简单,也很容易实现,多用于文本分类,比如垃圾邮件过滤. ...
- 机器学习西瓜书(周志华)第七章 贝叶斯分类器
第七章 贝叶斯分类器 1. 贝叶斯决策论 1.1 先验分布 1.2 后验分布 1.3 似然估计 1.4 四大概率在贝叶斯分类中指代含义 1. 朴素贝叶斯 7. 课后练习参考答案 1. 贝叶斯决策论 贝 ...
- 机器学习西瓜书-1-2章
学习目标: 概览机器学习西瓜书 1.2章 学习内容: 第一章 绪论 1.1 基本术语 1.2 假设空间 1.3 归纳偏好 1.4 发展历程 第二章 模型评估与选择 2.1 经验误差与过拟合 2.2 评 ...
- 机器学习西瓜书南瓜书 神经网络
机器学习西瓜书&南瓜书 神经网络 1. 神经元模型 神经网络:由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实事件物体所做出的交互反应. 神经网络最基本的成分 ...
- 周志华-机器学习西瓜书-第三章习题3.3 编程实现对率回归
本文为周志华机器学习西瓜书第三章课后习题3.3答案,编程实现对率回归,数据集为书本第89页的数据 使用tensorflow实现过程 # coding=utf-8 import tensorflow a ...
- 小白学机器学习西瓜书-第三章对数几率回归
小白学机器学习西瓜书-第三章对数几率回归 3.3 对数几率回归 3.3.1 对数几率函数 3.3.1 估计参数 上一部分我们介绍了线性回归,包括简单的二元回归和多元回归,这两个主要解决的是拟合预测的问 ...
- 算法学习之路和程序员(技术)学习必读书籍
原文链接:http://lucida.me/blog/on-learning-algorithms/ 转 算法学习之路和程序员(技术)学习必读书籍 2015年05月26日 09:46:56 阅读数:1 ...
- 周志华机器学习(西瓜书)学习笔记(持续更新)
<周志华机器学习>笔记 第1章 绪论 1.1 引言 1.2 基本术语 1.3 假设空间 1.4 归纳偏好 1.5 发展历程 1.6 应用现状 第2章 模型评估与选择 2.1 经验误差与过拟 ...
- 机器学习西瓜书学习——绪论
在我们日常生活中,我们有时候会根据自己的生活经验,对即将发生的事进行预估.当我们有了足够多的经验,我们就可以对一些情况做出有效的决策.比如说"朝霞不出门 晚霞行千里",就是根据我们 ...
最新文章
- linux中三个time:atime、mtime、ctime
- JavaScript专题之从零实现jQuery的extend
- c++读取图片_Pytorch读取,加载图像数据(一)
- 设计模式19——行为型模式之备忘录模式
- 什么是认证、授权、会话
- 利用福禄克网线/光纤测试仪规范测试BICSI标准
- java parseint(12.0),Java中parseInt()和valueOf(),toString()的区别
- 安装`lrzsz`包及其报错解决办法
- Promise的简单使用例子
- asp.net html 扩展,StaticHtml
- Linux DRM KMS 驱动简介
- 做对了什么与留下了什么 小米上市的背后
- [面面面]搞定计算机面试常见知识点——Java篇
- 为什么要去做亚马逊僵尸跟卖呢 亲身经历告诉你
- 名企招聘面试考题集锦
- 【Java面试】什么是字节码?采用字节码的好处是什么?
- 调用百度h5活体检测,参数video_base64,视频解析错误的问题
- 2019春季学期总结
- MySQL insert ignore/ update ignore 不只用来忽略id重复
- Mysql删除百万数据提升速度方法