<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>西瓜书 on eree's blog</title><link>https://blog.ereebay.me/tags/%E8%A5%BF%E7%93%9C%E4%B9%A6/</link><description>Recent content in 西瓜书 on eree's blog</description><generator>Hugo</generator><language>zh-cn</language><copyright>2020-2026 eree&amp;rsquo;s blog</copyright><lastBuildDate>Wed, 24 Jun 2020 18:15:38 +0800</lastBuildDate><atom:link href="https://blog.ereebay.me/tags/%E8%A5%BF%E7%93%9C%E4%B9%A6/index.xml" rel="self" type="application/rss+xml"/><item><title>【西瓜书】阅读笔记 1. 绪论</title><link>https://blog.ereebay.me/posts/melonbook-1/</link><pubDate>Wed, 24 Jun 2020 18:15:38 +0800</pubDate><guid>https://blog.ereebay.me/posts/melonbook-1/</guid><description>&lt;h1 id="绪论"&gt;绪论&lt;/h1&gt;
&lt;h2 id="引言"&gt;引言&lt;/h2&gt;
&lt;p&gt;机器学习：假设用P来评估计算机程序在某任务类T上的性能，若一个程序通过经验E在T中任务上获得了性能改善，则我们就说关于T和P，该程序对E进行了学习。&lt;/p&gt;
&lt;!-- more --&gt;
&lt;h2 id="基本术语"&gt;基本术语&lt;/h2&gt;
&lt;p&gt;数据相关：&lt;/p&gt;
&lt;p&gt;数据集（dataset）包含了一系列的记录，每条记录就是一个示例（instance）或者是样本（sample）。反应某些性质的是属性（attribute）或者是特征（feature）。属性取值称为属性值（attribute value），其张成空间称为属性空间（attribute space）或者样本空间（sample space）或者输入空间。空间中每一个点称为特征向量（feature vector）。&lt;/p&gt;
&lt;p&gt;训练相关：&lt;/p&gt;
&lt;p&gt;从数据学习到模型的过程称为学习（learning）或训练（training）。使用的数据称为训练数据（training data），每个样本为训练样本（training sample），整个集合称为训练集（training set）。学的模型对应了关于数据的某种潜在规律称为假设（hypothesis）。规律本身称为真相（ground truth）。模型也可以称为学习器（learner）。&lt;/p&gt;
&lt;p&gt;训练之后，需要进行预测（prediction），关于示例结果的信息称为标签（label），拥有标签的示例是样例（example）。标签张成的空间为标记空间或者输出空间。&lt;/p&gt;
&lt;p&gt;分类任务（classification）：预测值为离散值。回归任务（regression）：预测值为连续值。二分类任务（binary classification）：输出为正类和负类。&lt;/p&gt;
&lt;p&gt;学的模型后进行预测的阶段为测试（testing），被预测的样本称为测试样本（testing sample），同理还有测试集（testing set）&lt;/p&gt;
&lt;p&gt;有监督学习（supervised learning）：用拥有标记的数据训练，如分类和回归。&lt;/p&gt;
&lt;p&gt;无监督学习（unsupervised learning）：无标签的数据训练，如聚类（clustering），将训练样本分成若干个簇（cluster）。&lt;/p&gt;
&lt;p&gt;泛化（generalization）：模型适用于新样本的能力&lt;/p&gt;
&lt;p&gt;独立同分布（iid）：样本都从同一个分布上独立采样获得。&lt;/p&gt;
&lt;h2 id="假设空间"&gt;假设空间&lt;/h2&gt;
&lt;p&gt;归纳（induction）：从特殊到一般。（generalization）&lt;/p&gt;
&lt;p&gt;演绎（deduction）：从一般到特殊。（specialization）&lt;/p&gt;
&lt;p&gt;归纳学习（inductive learning）：广义：从样本中学习。狭义：从数据中获得概念（concept），称为概念学习。&lt;/p&gt;
&lt;p&gt;版本空间（version space）：与训练集一致的假设集合&lt;/p&gt;
&lt;h2 id="归纳偏好"&gt;归纳偏好&lt;/h2&gt;
&lt;p&gt;归纳偏好（inductive bias）：机器学习算法在学习过程中对某种类型假设的偏好，对应了学习算法本身所做出的关于“什么样的模型更好的”假设&lt;/p&gt;</description><content:encoded><![CDATA[<h1 id="绪论">绪论</h1>
<h2 id="引言">引言</h2>
<p>机器学习：假设用P来评估计算机程序在某任务类T上的性能，若一个程序通过经验E在T中任务上获得了性能改善，则我们就说关于T和P，该程序对E进行了学习。</p>
<!-- more -->
<h2 id="基本术语">基本术语</h2>
<p>数据相关：</p>
<p>数据集（dataset）包含了一系列的记录，每条记录就是一个示例（instance）或者是样本（sample）。反应某些性质的是属性（attribute）或者是特征（feature）。属性取值称为属性值（attribute value），其张成空间称为属性空间（attribute space）或者样本空间（sample space）或者输入空间。空间中每一个点称为特征向量（feature vector）。</p>
<p>训练相关：</p>
<p>从数据学习到模型的过程称为学习（learning）或训练（training）。使用的数据称为训练数据（training data），每个样本为训练样本（training sample），整个集合称为训练集（training set）。学的模型对应了关于数据的某种潜在规律称为假设（hypothesis）。规律本身称为真相（ground truth）。模型也可以称为学习器（learner）。</p>
<p>训练之后，需要进行预测（prediction），关于示例结果的信息称为标签（label），拥有标签的示例是样例（example）。标签张成的空间为标记空间或者输出空间。</p>
<p>分类任务（classification）：预测值为离散值。回归任务（regression）：预测值为连续值。二分类任务（binary classification）：输出为正类和负类。</p>
<p>学的模型后进行预测的阶段为测试（testing），被预测的样本称为测试样本（testing sample），同理还有测试集（testing set）</p>
<p>有监督学习（supervised learning）：用拥有标记的数据训练，如分类和回归。</p>
<p>无监督学习（unsupervised learning）：无标签的数据训练，如聚类（clustering），将训练样本分成若干个簇（cluster）。</p>
<p>泛化（generalization）：模型适用于新样本的能力</p>
<p>独立同分布（iid）：样本都从同一个分布上独立采样获得。</p>
<h2 id="假设空间">假设空间</h2>
<p>归纳（induction）：从特殊到一般。（generalization）</p>
<p>演绎（deduction）：从一般到特殊。（specialization）</p>
<p>归纳学习（inductive learning）：广义：从样本中学习。狭义：从数据中获得概念（concept），称为概念学习。</p>
<p>版本空间（version space）：与训练集一致的假设集合</p>
<h2 id="归纳偏好">归纳偏好</h2>
<p>归纳偏好（inductive bias）：机器学习算法在学习过程中对某种类型假设的偏好，对应了学习算法本身所做出的关于“什么样的模型更好的”假设</p>
]]></content:encoded></item><item><title>【西瓜书】阅读笔记 2. 模型评估与选择</title><link>https://blog.ereebay.me/posts/melonbook-2/</link><pubDate>Wed, 24 Jun 2020 16:06:16 +0800</pubDate><guid>https://blog.ereebay.me/posts/melonbook-2/</guid><description>&lt;h1 id="模型评估与选择"&gt;模型评估与选择&lt;/h1&gt;
&lt;h2 id="经验误差与过拟合"&gt;经验误差与过拟合&lt;/h2&gt;
&lt;p&gt;错误率（error rate）：分类错误的总占比&lt;/p&gt;
&lt;p&gt;精度（accuracy）：分类正确的占比&lt;/p&gt;
&lt;p&gt;误差（error）：实际输出与真实输出的差异，在训练样本上为经验误差或训练误差，在新样本上的为泛化误差&lt;/p&gt;
&lt;p&gt;过拟合（overfitting）：泛化性能下降&lt;/p&gt;
&lt;p&gt;欠拟合（underfitting）：对训练样本效果不好&lt;/p&gt;
&lt;!-- more --&gt;
&lt;h2 id="评估方法"&gt;评估方法&lt;/h2&gt;
&lt;p&gt;通常使用测试集合（testing set）测试模型的性能，以测试误差（testing error）作为泛化误差近似&lt;/p&gt;
&lt;h3 id="留出法"&gt;留出法&lt;/h3&gt;
&lt;p&gt;将数据集D分为两个互斥的集合，一部分为训练集S，一部分为测试集T。当S较大T较小的时候可能评估不够准确。如果T变大了，那么用S训练的模型可能和用D训练的模型相比差别太大，评估的结果也不够准确。&lt;/p&gt;
&lt;h3 id="交叉验证法"&gt;交叉验证法&lt;/h3&gt;
&lt;p&gt;将数据集D分为k个互斥的集合，将k-1个子集作为训练集，剩下的集合做为测试集合，这样就可以获得k组数据，最终返回这k组数据测试结果的平均值。极端情况就是留一法，留一法结果更为准确，但是计算开销大。&lt;/p&gt;
&lt;h3 id="自助法"&gt;自助法&lt;/h3&gt;
&lt;p&gt;采用自助采样法（bootstrapping）有放回的采样一个新的数据集&lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;D&lt;/mi&gt;&lt;mo mathvariant="normal" lspace="0em" rspace="0em"&gt;′&lt;/mo&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;D&amp;#x27;&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;。用这个新数据集做训练，剩下的做测试。优点：该方法在数据集较小，难以有效的划分训练/测试集的时候有用。缺点：改变初始数据集分布，引入估计偏差。&lt;/p&gt;
&lt;h3 id="调参与最终模型"&gt;调参与最终模型&lt;/h3&gt;
&lt;p&gt;算法参数（parameter）对算法的性能有很大影响。除了对算法进行选择，还需要对参数进行调整，就是调参（parameter tuning）。其中在对模型利用验证集对模型评估选择之后，确定模型和参数配置后，需要用数据集D整体重新训练一次模型才能进行测试，这才是最后提交的模型。模型评估时用的数据为了区分，称为验证集（validation set）。用验证集来评估算法的选择和调参，用测试集来评估算法的泛化性能。&lt;/p&gt;
&lt;h2 id="性能度量"&gt;性能度量&lt;/h2&gt;
&lt;p&gt;性能度量（perfomance measure）：衡量模型泛化能力的评价标准&lt;/p&gt;
&lt;p&gt;回归任务中最常用的性能度量是mse 均方误差：&lt;/p&gt;
&lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo separator="true"&gt;;&lt;/mo&gt;&lt;mi&gt;D&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mfrac&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/mfrac&gt;&lt;msubsup&gt;&lt;mo&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/msubsup&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;E(f ; D)=\frac{1}{m} \sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;p&gt;更一般的可以写成：&lt;/p&gt;
&lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo separator="true"&gt;;&lt;/mo&gt;&lt;mi&gt;D&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo&gt;∼&lt;/mo&gt;&lt;mi&gt;D&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;msup&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mi&gt;d&lt;/mi&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;E(f ; D)=\int_{x \sim D}(f(x)-y)^{2} p(x) d x&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;h3 id="错误率与精度"&gt;错误率与精度&lt;/h3&gt;
&lt;p&gt;最常用的两种性能度量：错误率和精度&lt;/p&gt;
&lt;p&gt;错误率：&lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo separator="true"&gt;;&lt;/mo&gt;&lt;mi&gt;D&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mfrac&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/mfrac&gt;&lt;msubsup&gt;&lt;mo&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/msubsup&gt;&lt;mi&gt;I&lt;/mi&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo mathvariant="normal"&gt;≠&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} I\left(f\left(x_{i}\right) \neq y_{i}\right)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;精度：&lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;mstyle scriptlevel="0" displaystyle="true"&gt;&lt;mrow&gt;&lt;mi mathvariant="normal"&gt;acc&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo separator="true"&gt;;&lt;/mo&gt;&lt;mi&gt;D&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mstyle&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mstyle scriptlevel="0" displaystyle="true"&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mfrac&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/mfrac&gt;&lt;munderover&gt;&lt;mo&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;/munderover&gt;&lt;mi mathvariant="double-struck"&gt;I&lt;/mi&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;y&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/mstyle&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;mstyle scriptlevel="0" displaystyle="true"&gt;&lt;mrow&gt;&lt;/mrow&gt;&lt;/mstyle&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mstyle scriptlevel="0" displaystyle="true"&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;f&lt;/mi&gt;&lt;mo separator="true"&gt;;&lt;/mo&gt;&lt;mi&gt;D&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mstyle&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;/mtable&gt;&lt;annotation encoding="application/x-tex"&gt;\begin{aligned} \operatorname{acc}(f ; D) &amp;amp;=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(x_{i}\right)=y_{i}\right) \\ &amp;amp;=1-E(f ; D) \end{aligned}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="查准率查全率与f1"&gt;查准率、查全率与F1&lt;/h3&gt;
&lt;p&gt;在信息检索领域，通常关心“检索的信息有多少用户感兴趣”，“用户感兴趣的有多少被检索”。因此有查准率（precision）和查全率（recall）的概念。&lt;/p&gt;
&lt;p&gt;二分类问题，&lt;/p&gt;
&lt;p&gt;查准率 = 真正例/（真正例+假正例）&lt;/p&gt;
&lt;p&gt;查全率 = 真正例/（真正例+假反例）&lt;/p&gt;</description><content:encoded><![CDATA[<h1 id="模型评估与选择">模型评估与选择</h1>
<h2 id="经验误差与过拟合">经验误差与过拟合</h2>
<p>错误率（error rate）：分类错误的总占比</p>
<p>精度（accuracy）：分类正确的占比</p>
<p>误差（error）：实际输出与真实输出的差异，在训练样本上为经验误差或训练误差，在新样本上的为泛化误差</p>
<p>过拟合（overfitting）：泛化性能下降</p>
<p>欠拟合（underfitting）：对训练样本效果不好</p>
<!-- more -->
<h2 id="评估方法">评估方法</h2>
<p>通常使用测试集合（testing set）测试模型的性能，以测试误差（testing error）作为泛化误差近似</p>
<h3 id="留出法">留出法</h3>
<p>将数据集D分为两个互斥的集合，一部分为训练集S，一部分为测试集T。当S较大T较小的时候可能评估不够准确。如果T变大了，那么用S训练的模型可能和用D训练的模型相比差别太大，评估的结果也不够准确。</p>
<h3 id="交叉验证法">交叉验证法</h3>
<p>将数据集D分为k个互斥的集合，将k-1个子集作为训练集，剩下的集合做为测试集合，这样就可以获得k组数据，最终返回这k组数据测试结果的平均值。极端情况就是留一法，留一法结果更为准确，但是计算开销大。</p>
<h3 id="自助法">自助法</h3>
<p>采用自助采样法（bootstrapping）有放回的采样一个新的数据集<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>D</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">D&#x27;</annotation></semantics></math></span>。用这个新数据集做训练，剩下的做测试。优点：该方法在数据集较小，难以有效的划分训练/测试集的时候有用。缺点：改变初始数据集分布，引入估计偏差。</p>
<h3 id="调参与最终模型">调参与最终模型</h3>
<p>算法参数（parameter）对算法的性能有很大影响。除了对算法进行选择，还需要对参数进行调整，就是调参（parameter tuning）。其中在对模型利用验证集对模型评估选择之后，确定模型和参数配置后，需要用数据集D整体重新训练一次模型才能进行测试，这才是最后提交的模型。模型评估时用的数据为了区分，称为验证集（validation set）。用验证集来评估算法的选择和调参，用测试集来评估算法的泛化性能。</p>
<h2 id="性能度量">性能度量</h2>
<p>性能度量（perfomance measure）：衡量模型泛化能力的评价标准</p>
<p>回归任务中最常用的性能度量是mse 均方误差：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi><mo stretchy="false">(</mo><mi>f</mi><mo separator="true">;</mo><mi>D</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><msubsup><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msup><mrow><mo fence="true">(</mo><mi>f</mi><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>y</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">E(f ; D)=\frac{1}{m} \sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2}</annotation></semantics></math></span><p>更一般的可以写成：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi><mo stretchy="false">(</mo><mi>f</mi><mo separator="true">;</mo><mi>D</mi><mo stretchy="false">)</mo><mo>=</mo><msub><mo>∫</mo><mrow><mi>x</mi><mo>∼</mo><mi>D</mi></mrow></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>−</mo><mi>y</mi><msup><mo stretchy="false">)</mo><mn>2</mn></msup><mi>p</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mi>d</mi><mi>x</mi></mrow><annotation encoding="application/x-tex">E(f ; D)=\int_{x \sim D}(f(x)-y)^{2} p(x) d x</annotation></semantics></math></span><h3 id="错误率与精度">错误率与精度</h3>
<p>最常用的两种性能度量：错误率和精度</p>
<p>错误率：<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi><mo stretchy="false">(</mo><mi>f</mi><mo separator="true">;</mo><mi>D</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><msubsup><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><mi>I</mi><mrow><mo fence="true">(</mo><mi>f</mi><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><msub><mi>y</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} I\left(f\left(x_{i}\right) \neq y_{i}\right)</annotation></semantics></math></span></p>
<p>精度：<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi mathvariant="normal">acc</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>f</mi><mo separator="true">;</mo><mi>D</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mi mathvariant="double-struck">I</mi><mrow><mo fence="true">(</mo><mi>f</mi><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>y</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>1</mn><mo>−</mo><mi>E</mi><mo stretchy="false">(</mo><mi>f</mi><mo separator="true">;</mo><mi>D</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{aligned} \operatorname{acc}(f ; D) &amp;=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(x_{i}\right)=y_{i}\right) \\ &amp;=1-E(f ; D) \end{aligned}</annotation></semantics></math></span></p>
<h3 id="查准率查全率与f1">查准率、查全率与F1</h3>
<p>在信息检索领域，通常关心“检索的信息有多少用户感兴趣”，“用户感兴趣的有多少被检索”。因此有查准率（precision）和查全率（recall）的概念。</p>
<p>二分类问题，</p>
<p>查准率 = 真正例/（真正例+假正例）</p>
<p>查全率 = 真正例/（真正例+假反例）</p>
<p>这两种比例通常是互矛盾，当查全率高，查准率相对就低，比如为了选出尽可能多的好瓜，只要选中所有瓜那必然都选上了。</p>
<p>P-R曲线：查准率-查全率曲线，若一个learner的PR曲线可以包住另一个learner的曲线，则说明该learner 更好。比较合理的判断依据是曲线下面积的大小，但是不容易估算，于是有三种评价手段。</p>
<ol>
<li>平衡点（BEP）：也就是查准率=查全率的取值。</li>
<li>F1度量：F1=2<em>P</em>R/(P+R)= 2*TP/（样例总数+TP-TN） 基于P和R的调和平均<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><msub><mi>F</mi><mn>1</mn></msub></mfrac><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mi>P</mi></mfrac><mo>+</mo><mfrac><mn>1</mn><mi>R</mi></mfrac><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\frac{1}{F_{1}}=\frac{1}{2}\left(\frac{1}{P}+\frac{1}{R}\right)</annotation></semantics></math></span></li>
<li>F1度量的一般形式（对P和R的重视程度不同）：<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>F</mi><mi>β</mi></msub><mo>=</mo><mfrac><mrow><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>β</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mo>×</mo><mi>P</mi><mo>×</mo><mi>R</mi></mrow><mrow><mrow><mo fence="true">(</mo><msup><mi>β</mi><mn>2</mn></msup><mo>×</mo><mi>P</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>R</mi></mrow></mfrac></mrow><annotation encoding="application/x-tex">F_{\beta}=\frac{\left(1+\beta^{2}\right) \times P \times R}{\left(\beta^{2} \times P\right)+R}</annotation></semantics></math></span> 基于调和平均<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><msub><mi>F</mi><mi>β</mi></msub></mfrac><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><msup><mi>β</mi><mn>2</mn></msup></mrow></mfrac><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mi>P</mi></mfrac><mo>+</mo><mfrac><msup><mi>β</mi><mn>2</mn></msup><mi>R</mi></mfrac><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\frac{1}{F_{\beta}}=\frac{1}{1+\beta^{2}}\left(\frac{1}{P}+\frac{\beta^{2}}{R}\right)</annotation></semantics></math></span>  <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span>代表了两者的相对重要性，1退化为F1，大于1说明查全率更重要，小于1查准率更为重要。</li>
</ol>
<p>有的时候需要在n个二分类混淆矩阵上计算P和R，然后计算平均值，这就是宏查准率，宏查全率，宏F1。也可以将混淆矩阵中的对应元素进行平均，得到各个正例反例平均，然后计算微查准率微查全率和微F1。</p>
<h3 id="roc与auc">ROC与AUC</h3>
<p>ROC：受试者工作特征（Receiver Operating Characteristic）曲线。</p>
<p>对于学习器来说通常对输入样本输出一个概率预测，然后与分类阈值（threshold）进行比较。模型将最可能是正例的样本排在最前面，最不可能排在最后面，然后在某个截断点（cut point）将样本分为两部分，前一部分判断为正样本，后一部分判断为负样本。</p>
<p>不同的分类任务，会采用不同的截断点，如果更注重查准率，截断点靠前，如果更重视查全率，截断点靠后。</p>
<p>根据学习器的预测结果对样本进行排序，按此顺序计算两个值。</p>
<p>纵坐标：真正例率（True Positive Rate TPR）：<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mi>P</mi><mi>R</mi><mo>=</mo><mfrac><mrow><mi>T</mi><mi>P</mi></mrow><mrow><mi>T</mi><mi>P</mi><mo>+</mo><mi>F</mi><mi>N</mi></mrow></mfrac></mrow><annotation encoding="application/x-tex">T P R=\frac{T P}{T P+F N}</annotation></semantics></math></span></p>
<p>横坐标：假正例率（False Positive Rate FPR）：<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>F</mi><mi>P</mi><mi>R</mi><mo>=</mo><mfrac><mrow><mi>F</mi><mi>P</mi></mrow><mrow><mi>T</mi><mi>N</mi><mo>+</mo><mi>F</mi><mi>P</mi></mrow></mfrac></mrow><annotation encoding="application/x-tex">FPR=\frac {FP} {TN+FP}</annotation></semantics></math></span>
<img alt="Untitled" loading="lazy" src="http://cdn.ereebay.me/hexo/Untitled.png"></p>
<p>学习器比较时，若一个能够包住另一个，则说明前者优于后者，若有交叉，则分秦光，比较合理的判断是比较ROC曲线下面积，即AUC。</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi>U</mi><mi>C</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mrow><mo fence="true">(</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>−</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><msub><mi>y</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">A U C=\frac{1}{2} \sum_{i=1}^{m-1}\left(x_{i+1}-x_{i}\right)\left(y_{i}+y_{i+1}\right)</annotation></semantics></math></span><p>损失loss：<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><msub><mi mathvariant="normal">l</mi><mrow><mi mathvariant="normal">r</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">k</mi></mrow></msub></mi><mo>⁡</mo><mo>=</mo><mfrac><mn>1</mn><mrow><msup><mi>m</mi><mo lspace="0em" rspace="0em">+</mo></msup><msup><mi>m</mi><mo lspace="0em" rspace="0em">−</mo></msup></mrow></mfrac><msub><mo>∑</mo><mrow><msup><mi>x</mi><mo lspace="0em" rspace="0em">+</mo></msup><mo>∈</mo><msup><mi>D</mi><mo lspace="0em" rspace="0em">+</mo></msup></mrow></msub><msub><mo>∑</mo><mrow><mi>x</mi><mo>∈</mo><msup><mi>D</mi><mo lspace="0em" rspace="0em">−</mo></msup></mrow></msub><mrow><mo fence="true">(</mo><mi mathvariant="double-struck">I</mi><mrow><mo fence="true">(</mo><mi>f</mi><mrow><mo fence="true">(</mo><msup><mi>x</mi><mo lspace="0em" rspace="0em">+</mo></msup><mo fence="true">)</mo></mrow><mo>&lt;</mo><mi>f</mi><mrow><mo fence="true">(</mo><msup><mi>x</mi><mo lspace="0em" rspace="0em">−</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi mathvariant="double-struck">I</mi><mrow><mo fence="true">(</mo><mi>f</mi><mrow><mo fence="true">(</mo><msup><mi>x</mi><mo lspace="0em" rspace="0em">+</mo></msup><mo fence="true">)</mo></mrow><mo>=</mo><mi>f</mi><mrow><mo fence="true">(</mo><msup><mi>x</mi><mo lspace="0em" rspace="0em">−</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\operatorname{l_{rank}}=\frac{1}{m^{+} m^{-}} \sum_{x^{+} \in D^{+}} \sum_{x \in D^{-}}\left(\mathbb{I}\left(f\left(x^{+}\right)&lt;f\left(x^{-}\right)\right)+\frac{1}{2} \mathbb{I}\left(f\left(x^{+}\right)=f\left(x^{-}\right)\right)\right)</annotation></semantics></math></span></p>
<p>AUC= 1-lrank</p>
<p><a href="https://datawhalechina.github.io/pumpkin-book/#/chapter2/chapter2">https://datawhalechina.github.io/pumpkin-book/#/chapter2/chapter2</a> 更详细可以看南瓜书</p>
<h3 id="代价敏感错误率与代价曲线">代价敏感错误率与代价曲线</h3>
<p>为权衡不同类型错误所造成的不同损失，可为错误赋予“非均等代价”（unequal cost）</p>
<p>以二分类为例，设定一个代价矩阵 cost matrix</p>
<p>二分类代价矩阵</p>
<table>
	<thead>
			<tr>
					<th>真实类别</th>
					<th>预测类别0</th>
					<th>预测类别1</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>0</td>
					<td>0</td>
					<td>cost01</td>
			</tr>
			<tr>
					<td>1</td>
					<td>cost10</td>
					<td>0</td>
			</tr>
	</tbody>
</table>
<p>如果说认为把0判成1的损失更大则cost01大于cost10，相差越大，值的差别越大。</p>
<p>前面介绍的性能度量方式都隐含了均等代价，在非均等代价下，希望总体最小化总体代价 total loss</p>
<p>代价敏感 cost sensitive 错误率为：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi><mo stretchy="false">(</mo><mi>f</mi><mo separator="true">;</mo><mi>D</mi><mo separator="true">;</mo><mi>cos</mi><mo>⁡</mo><mi>t</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><mrow><mo fence="true">(</mo><msub><mo>∑</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>∈</mo><msup><mi>D</mi><mo lspace="0em" rspace="0em">+</mo></msup></mrow></msub><mi mathvariant="double-struck">I</mi><mrow><mo fence="true">(</mo><mi>f</mi><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><msub><mi>y</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>×</mo><mi>c</mi><mi>o</mi><mi>s</mi><msub><mi>t</mi><mn>01</mn></msub><mo separator="true">,</mo><mspace width="1em"/><mo>+</mo><msub><mo>∑</mo><mrow><msub><mi>X</mi><mi>i</mi></msub><mo>∈</mo><msup><mi>D</mi><mo lspace="0em" rspace="0em">−</mo></msup></mrow></msub><mi mathvariant="double-struck">I</mi><mrow><mo fence="true">(</mo><mi>f</mi><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><msub><mi>y</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>×</mo><mi>c</mi><mi>o</mi><mi>s</mi><msub><mi>t</mi><mn>10</mn></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">
E(f ; D ; \cos t)=\frac{1}{m}\left(\sum_{x_{i} \in D^{+}} \mathbb{I}\left(f\left(x_{i}\right) \neq y_{i}\right) \times cost_{01}, \quad+\sum_{X_{i} \in D^{-}} \mathbb{I}\left(f\left(x_{i}\right) \neq y_{i}\right) \times cost_{1 0}\right)
</annotation></semantics></math></span><p>在非均等代价下，ROC曲线不能反映出学习器的期望总体代价，但是代价曲线 cost curve 可以达到目的。</p>
<p>横轴是[0,1]的正例概率代价：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mo stretchy="false">(</mo><mo>+</mo><mo stretchy="false">)</mo><mi>c</mi><mi>o</mi><mi>s</mi><mi>t</mi><mo>=</mo><mfrac><mrow><mi>p</mi><mo>×</mo><mi>c</mi><mi>o</mi><mi>s</mi><msub><mi>t</mi><mn>01</mn></msub></mrow><mrow><mi>p</mi><mo>×</mo><mi>c</mi><mi>o</mi><mi>s</mi><msub><mi>t</mi><mn>01</mn></msub><mo>+</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>p</mi><mo stretchy="false">)</mo><mo>×</mo><mi>c</mi><mi>o</mi><mi>s</mi><msub><mi>t</mi><mn>10</mn></msub></mrow></mfrac></mrow><annotation encoding="application/x-tex">
P(+) cost=\frac{p \times cost_{01}}{p \times cost_{01}+(1-p) \times cost_{10}}
</annotation></semantics></math></span><p>p是样例为正例的概率</p>
<p>纵轴是[0,1]的归一化代价：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>o</mi><mi>s</mi><msub><mi>t</mi><mtext>norm </mtext></msub><mo>=</mo><mfrac><mrow><mi>F</mi><mi>N</mi><mi>R</mi><mo>×</mo><mi>p</mi><mo>×</mo><mi>c</mi><mi>o</mi><mi>s</mi><msub><mi>t</mi><mn>01</mn></msub><mo>+</mo><mi>F</mi><mi>P</mi><mi>R</mi><mo>×</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>p</mi><mo stretchy="false">)</mo><mo>×</mo><mi>cos</mi><mo>⁡</mo><msub><mi>t</mi><mn>10</mn></msub></mrow><mrow><mi>p</mi><mo>×</mo><mi>c</mi><mi>o</mi><mi>s</mi><msub><mi>t</mi><mn>01</mn></msub><mo>+</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>p</mi><mo stretchy="false">)</mo><mo>×</mo><mi>c</mi><mi>o</mi><mi>s</mi><msub><mi>t</mi><mn>10</mn></msub></mrow></mfrac></mrow><annotation encoding="application/x-tex">
cost_{\text {norm }}=\frac{ F N R \times p \times cost_{01}+FP R \times(1-p) \times \cos t_{10}}{p \times cost_{01} +(1-p) \times cost_{10}}
</annotation></semantics></math></span><p>FNR为假反例率，FPR为假正利率。 FNR=1-TPR</p>
<h2 id="比较检验">比较检验</h2>
<p>机器学习中的性能比较通常采用统计假设检验（hypothesis test）。原因如下</p>
<ol>
<li>比较泛化性能，通过试验评估的是测试集的性能，两者对比结果未必相同</li>
<li>测试集上的性能和测试集的选择有很大关系</li>
<li>算法本身具有一定的随机性</li>
</ol>
<h3 id="假设检验">假设检验</h3>
<p>错误率<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϵ</mi></mrow><annotation encoding="application/x-tex">{\epsilon}</annotation></semantics></math></span>表示性能度量。
对于一个错误率为<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϵ</mi></mrow><annotation encoding="application/x-tex">{\epsilon}</annotation></semantics></math></span>的学习器，我们在测试集上得到测试错误率为<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>ϵ</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\hat{\epsilon}</annotation></semantics></math></span> ，这就意味着在<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span>个样本中，有<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>ϵ</mi><mo>^</mo></mover><mo>×</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">\hat{\epsilon} \times m</annotation></semantics></math></span>个被分类错误，我们容易推出，一个泛化错误率为<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϵ</mi></mrow><annotation encoding="application/x-tex">{\epsilon}</annotation></semantics></math></span>的学习器在一个<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span>样本的测试集上，得到测试错误率<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>ϵ</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\hat{\epsilon}</annotation></semantics></math></span>的概率为：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mo stretchy="false">(</mo><mover accent="true"><mi>ϵ</mi><mo>^</mo></mover><mo separator="true">;</mo><mi>ϵ</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo fence="true">(</mo><mtable rowspacing="0.16em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mi>m</mi></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mover accent="true"><mi>ϵ</mi><mo>^</mo></mover><mo>×</mo><mi>m</mi></mrow></mstyle></mtd></mtr></mtable><mo fence="true">)</mo></mrow><msup><mi>ϵ</mi><mrow><mover accent="true"><mi>ϵ</mi><mo>^</mo></mover><mo>×</mo><mi>m</mi></mrow></msup><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>ϵ</mi><msup><mo stretchy="false">)</mo><mrow><mi>m</mi><mo>−</mo><mover accent="true"><mi>ϵ</mi><mo>^</mo></mover><mo>×</mo><mi>m</mi></mrow></msup></mrow><annotation encoding="application/x-tex">
P(\hat{\epsilon} ; \epsilon)=\left(\begin{array}{c}m \\ \hat{\epsilon} \times m\end{array}\right) \epsilon^{\hat{\epsilon} \times m}(1-\epsilon)^{m-\hat{\epsilon} \times m}
</annotation></semantics></math></span><p>采用二项分布进行假设检验，这里的假设形如<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϵ</mi><mo>≤</mo><msub><mi>ϵ</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\epsilon \leq \epsilon_{0}</annotation></semantics></math></span>，那么在<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><annotation encoding="application/x-tex">1-\alpha</annotation></semantics></math></span>的概率内我们能观测到的最大错误率为：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>ϵ</mi><mo>ˉ</mo></mover><mo>=</mo><mi>max</mi><mo>⁡</mo><mi>ϵ</mi><mspace width="1em"/><mtext> s.t. </mtext><msubsup><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><msub><mi>ϵ</mi><mn>0</mn></msub><mo>×</mo><mi>m</mi><mo>+</mo><mn>1</mn></mrow><mi>m</mi></msubsup><mrow><mo fence="true">(</mo><mtable rowspacing="0.16em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mi>m</mi></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mi>i</mi></mstyle></mtd></mtr></mtable><mo fence="true">)</mo></mrow><msup><mi>ϵ</mi><mi>i</mi></msup><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>ϵ</mi><msup><mo stretchy="false">)</mo><mrow><mi>m</mi><mo>−</mo><mi>i</mi></mrow></msup><mo>&lt;</mo><mi>α</mi></mrow><annotation encoding="application/x-tex">
\bar{\epsilon}=\max \epsilon \quad \text { s.t. } \sum_{i=\epsilon_{0} \times m+1}^{m}\left(\begin{array}{c}m \\ i\end{array}\right) \epsilon^{i}(1-\epsilon)^{m-i}&lt;\alpha
</annotation></semantics></math></span><p>如果测试错误率<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>ϵ</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\hat{\epsilon}</annotation></semantics></math></span>小于临界值<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>ϵ</mi><mo>ˉ</mo></mover></mrow><annotation encoding="application/x-tex">\bar{\epsilon}</annotation></semantics></math></span>，那么我们就在<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><annotation encoding="application/x-tex">1-\alpha</annotation></semantics></math></span>的置信度下接受该假设，否则就以<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span>的显著度认为泛化错误率大于<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϵ</mi></mrow><annotation encoding="application/x-tex">\epsilon</annotation></semantics></math></span>。</p>
<p>如果采用多次留出法或者交叉验证法，则获得k个测试错误率。这个时候可以计算平均值和方差，从而利用t检验进行假设检验。这个时候的假设就是均值为错误率。变量：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>τ</mi><mi>t</mi></msub><mo>=</mo><mfrac><mrow><msqrt><mi>k</mi></msqrt><mrow><mo fence="true">(</mo><mi>μ</mi><mo>−</mo><msub><mi>ϵ</mi><mn>0</mn></msub><mo fence="true">)</mo></mrow></mrow><mi>ϵ</mi></mfrac></mrow><annotation encoding="application/x-tex">
\tau_{t}=\frac{\sqrt{k}\left(\mu-\epsilon_{0}\right)}{\epsilon}
</annotation></semantics></math></span><p>服从自由度为k-1的t分布。</p>
<p>更多检验方法在西瓜书p41有说明</p>
<h2 id="偏差与方差">偏差与方差</h2>
<p>除了估计泛化性能，还希望了解为什么有这样的性能，可以使用偏差方差分解。以回归任务为例，yd是x在数据集的标记，y为x的真实标记，f(x,D)是预测的输出。</p>
<p>那么期望预测为：<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>f</mi><mo>ˉ</mo></mover><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><msub><mi mathvariant="double-struck">E</mi><mi>D</mi></msub><mo stretchy="false">[</mo><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">;</mo><mi>D</mi><mo stretchy="false">)</mo><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\bar{f}(x)=\mathbb{E}_{D}[f(x ; D)]</annotation></semantics></math></span></p>
<p>使用样本数不同的训练集可以产生方差。然后进行分解：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>E</mi><mo stretchy="false">(</mo><mi>f</mi><mo separator="true">;</mo><mi>D</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msub><mi mathvariant="double-struck">E</mi><mo lspace="0em" rspace="0em">−</mo></msub><mi>D</mi><mrow><mo fence="true">[</mo><msup><mrow><mo fence="true">(</mo><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">;</mo><mi>D</mi><mo stretchy="false">)</mo><mo>−</mo><msub><mi>y</mi><mi>D</mi></msub><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">]</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msub><mi mathvariant="double-struck">E</mi><mo lspace="0em" rspace="0em">−</mo></msub><mi>D</mi><mrow><mo fence="true">[</mo><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">;</mo><mi>D</mi><mo stretchy="false">)</mo><mo>−</mo><mover accent="true"><mi>f</mi><mo>ˉ</mo></mover><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><msup><mo stretchy="false">)</mo><mn>2</mn></msup><mo fence="true">]</mo></mrow><mo>+</mo><mo stretchy="false">(</mo><mover accent="true"><mi>f</mi><mo>ˉ</mo></mover><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>−</mo><mi>y</mi><msup><mo stretchy="false">)</mo><mn>2</mn></msup><mo>+</mo><msub><mi mathvariant="double-struck">E</mi><mo lspace="0em" rspace="0em">−</mo></msub><mi>D</mi><mrow><mo fence="true">[</mo><msup><mrow><mo fence="true">(</mo><msub><mi>y</mi><mi>D</mi></msub><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">]</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msup><mrow><mi mathvariant="normal">bias</mi><mo>⁡</mo></mrow><mn>2</mn></msup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>+</mo><mi mathvariant="normal">var</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>+</mo><msup><mi>ε</mi><mn>2</mn></msup></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">
\begin{aligned} E(f ; D) &amp;=\mathbb{E}_{-} D\left[\left(f(x ; D)-y_{D}\right)^{2}\right] \\ &amp;=\mathbb{E}_{-} D\left[(f(x ; D)-\bar{f}(x))^{2}\right]+(\bar{f}(x)-y)^{2}+\mathbb{E}_{-} D\left[\left(y_{D}-y\right)^{2}\right] \\ &amp;=\operatorname{bias}^{2}(x)+\operatorname{var}(x)+\varepsilon^{2} \end{aligned}
</annotation></semantics></math></span><p>泛化误差可以分解为偏差、方差和噪声之和</p>
<ul>
<li>偏差度量了算法的期望预测与真实结果的偏离程度，刻画了学习算法本身的你和能力</li>
<li>方差度量了同样大小的训练集的变动所导致的学习性能的变化，刻画了数据扰动所造成的影响</li>
<li>噪声表达了当前任务上任何学习算法所能达到的期望泛化误差的下界，刻画了学习问题本身的难度。</li>
</ul>
]]></content:encoded></item></channel></rss>