精华内容
下载资源
问答
  • 用于 PAC3X00 和 PAC4200 的紧凑型支架[手册]pdf,
  • 文件包含了PAC5253/5250高压无刷电机控制的项目要求与仿真文件;以及底层代码的调用.
  • Pac-Xon Deluxe-crx插件

    2021-04-05 15:00:55
    pac-xon deluxe是Pac-Man主题游戏。 它与经典的Pacman游戏不同,因为你不会追逐点。 相反,您需要覆盖董事会的一个区域。 您需要覆盖最小百分比的区域来传递每个级别。 通过移动到空区域并填充差距,您可以这样做。...
  • 或者,在 OS X 和 Ubuntu 中, love pacpac.love输入love pacpac.love - 假设love可执行文件在您的路径中。 关卡编辑 我已经设置了游戏,这样您就可以制作自己的关卡,而无需知道如何编程。 只需编辑level1.txt或...
  • 吃豆人模拟器 适用于1980年街机游戏的 CPU和硬件的仿真器:Pac-Man。 它还将运行Pac-Man女士以及其他针对Pac-Man硬件的自制ROM。 这基于我的的Intel 8080 CPU内核。 它模拟图形和声音,支持保存状态,具有交互... X
  • PAC与样本复杂度

    千次阅读 2019-03-06 23:56:11
    这篇文章主要总结 PAC 学习框架以及样本复杂度相关的东西,大致来说就是:要保证以概率 1−δ1-\delta1−δ 使得 generalized error 小于 ϵ\epsilonϵ 需要多大的样本复杂度,以及时间复杂度才是好的。 问题及约定 ...

    这篇文章主要总结 PAC 学习框架以及样本复杂度相关的东西,大致来说就是:要保证以概率 1 − δ 1-\delta 1δ 使得 generalized error 小于 ϵ \epsilon ϵ 需要多大的样本复杂度,以及时间复杂度才是好的。

    问题及约定

    f1

    符号约定

    symbol

    两个 error 符号

    error

    就是我们常说的 train error 与 true error

    接下来是定义我们要研究的问题

    symbol

    简单的来说就是 依赖于 m , H , ϵ , δ m,H,\epsilon,\delta m,H,ϵ,δ 这四个东西,我们找到一个 样本复杂度以及计算复杂度的界.或者说找到他们的一些关系

    定义

    consistent hypothesis:

    c o n s i s t e n t ( h , S ) ∣ = h ( x ) = c ( x ) , ∀ ( x , c ( x ) ) ∈ S consistent(h,S) |= h(x)=c(x),\forall (x,c(x))\in S consistent(h,S)=h(x)=c(x),(x,c(x))S

    一个 假设称为是 consistent 的,if and only if, ∀ ( x , c ( x ) ) ∈ S \forall (x,c(x))\in S (x,c(x))S 都有, h ( x ) = c ( x ) h(x)=c(x) h(x)=c(x)

    Version Space:

    V S H , S : { h ∈ H ∣ c o n s i s t e n t ( h , S ) } VS_{H,S}:\{h \in H|consistent(h,S)\} VSH,S:{hHconsistent(h,S)}

    ϵ − e x h a u s t e d \epsilon-exhausted ϵexhausted

    V S H , S VS_{H,S} VSH,S 称为 ϵ − e x h a u s t e d \epsilon-exhausted ϵexhausted,当且仅当,

    ∀ h ∈ H , e r r o r D ( h ) &lt; ϵ \forall h\in H,error_D(h)&lt;\epsilon hH,errorD(h)<ϵ

    throme

    这个定理的证明会在文末给出,接下来的核心就在于理解这个定理

    理解

    这个定理的前提:

    1. H f i n i t e H finite Hfinite
    2. c ∈ H c\in H cH

    注意这个定理说的是 not,将这个定理翻译一下就是

    Pr ⁡ ( ∃ h ∈ H , ( e r r o r S ( h ) = 0 ) &amp; ( e r r o r D ( h ) &gt; ϵ ) ) &lt; ∣ H ∣ exp ⁡ − ϵ m \Pr(\exists h \in H,(error_S(h)=0)\And(error_D(h)&gt;\epsilon))&lt;|H|\exp^{-\epsilon m} Pr(hH,(errorS(h)=0)&(errorD(h)>ϵ))<Hexpϵm

    也就是说 如果 e r r o r S ( h ) = 0 error_S(h)=0 errorS(h)=0, 那么 e r r o r D ( h ) &lt; ϵ error_D(h)&lt;\epsilon errorD(h)<ϵ 的概率至少是 ∣ H ∣ exp ⁡ − ϵ m |H|\exp^{-\epsilon m} Hexpϵm

    如果我们想要让 ∣ H ∣ exp ⁡ − ϵ m &lt; δ |H|\exp^{-\epsilon m} &lt; \delta Hexpϵm<δ, 那么我们需要

    m &gt; ϵ − 1 ( log ⁡ ( ∣ H ∣ ) + log ⁡ ( δ − 1 ) ) m&gt;\epsilon^{-1}(\log(|H|)+\log(\delta^{-1})) m>ϵ1(log(H)+log(δ1)),这么多变量

    if e r r o r S ( h ) = 0 error_S(h)=0 errorS(h)=0 那么 至少我们有 1 − δ 1-\delta 1δ 的概率保证

    e r r o r D ( h ) ≤ m − 1 ( log ⁡ ( ∣ H ∣ ) + log ⁡ ( δ − 1 ) ) error_D(h)\le m^{-1}(\log(|H|)+\log(\delta^{-1})) errorD(h)m1(log(H)+log(δ1))

    PAC learnable

    简单的说,一个算法是 PAC(Probability Approximation Correct) 可学习的,要满足,时间复杂度和样本复杂度都是多项式的

    agnostic learning

    上面都说的是 c ∈ H c\in H cH ,那如果, c ∉ H c\notin H c/H 呢?

    根据 Hoeffding 不等式(see wiki)

    fix a h h h,

    Pr ⁡ ( e r r o r D ( h ) − e r r o r S ( h ) &gt; ϵ ) ≤ 2 exp ⁡ − 2 m ϵ 2 \Pr(error_D(h)-error_S(h)&gt;\epsilon)\le 2\exp^{-2m\epsilon^2} Pr(errorD(h)errorS(h)>ϵ)2exp2mϵ2

    修改前面的定理,

    Pr ⁡ ( ∃ h ∈ H , e r r o r D ( h ) − e r r o r S ( h ) &gt; ϵ ) &lt; ∣ H ∣ 2 exp ⁡ − 2 m ϵ 2 \Pr(\exists h\in H,error_D(h)-error_S(h)&gt;\epsilon)&lt;|H|2\exp^{-2m\epsilon^2} Pr(hH,errorD(h)errorS(h)>ϵ)<H2exp2mϵ2

    因此在概率为 δ \delta δ 的情况下,需要的样本 bound

    就可以很容易求解了

    erm

    最后不加证明的给出

    即 如果我们知道 e r r S ( h ) err_S(h) errS(h) 那么 e r r o r D ( h ) error_D(h) errorD(h) 的bound 在哪里?
    所有的证明和材料,都可见reference

    reference

    1. 10716 f16 Eric Xing
    2. 10715 f18 Maria-Florina Balcan

    版权声明

    本作品为作者原创文章,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

    作者: taotao

    转载请保留此版权声明,并注明出处

    展开全文
  • PAC learning

    2020-09-05 19:42:04
    PAC学习是莱斯利·瓦利安特(Leslie Valiant)于1984年发明的,自此诞生了计算机科学的一个新的领域——计算学习理论,文中提到可以去看一看这本书《An Introduction to Computational Learning Theory.》 ...

    引自知乎,兴致勃勃地看了一会,太监了。。。
    引自Leslie Valiant

    说实话,网上很多关于PAC看完还是一头雾水,这篇文章主要是对英文的翻译和一些自己的理解

    引言

    PAC学习是莱斯利·瓦利安特(Leslie Valiant)于1984年发明的,自此诞生了计算机科学的一个新的领域——计算学习理论,文中提到可以去看一看这本书《An Introduction to Computational Learning Theory.》

    Learning intervals

    举个栗子,两个玩家,玩家1给出一个区间 [ a , b ] [a,b] [a,b],玩家2给出一个数字 x x x。当 a < x < b a<x<b a<x<b时,玩家1给出1,反正0。

    接下来,玩家2不断的给出 x x x,获得 1 / 0 1/0 1/0来确定 [ a ^ , b ^ ] [\hat{a},\hat{b}] [a^,b^]的值。当玩家2猜测的次数很少(finite,有限)时,玩家2不可能完全猜出 a , b a,b a,b的值,但是如果(infinte,无限)时,玩家2 a ^ , b ^ \hat{a},\hat{b} a^,b^就很小很小,那么我们就可以说玩家2“学习”了玩家1的 a , b a,b a,b,这个区间问题可以被成为PAC-learnable

    Distributions and Hypotheses

    首先我们生成一些随机数集合 X X X,集合可以是有限的,也可以是无限的, X X X服从固定但是任意且随机的分布 D D D。严格的说,这些样本都是服从iid的。对于玩家1来说,他应该如何的生成随机数,从而让玩家2的算法陷入毁灭。

    因此,玩家1被简化为 X X X上的分布 D D D。既然我们说过,无论D是多少,玩家2的算法都能很好地处理高概率,那么定义就变成了这样:

    如果有一个算法 A A A使得其能够赢得 X X X D D D上分布的游戏,那么 A A A是PAC-learnable的。

    现在我们开始讨论,“intervals”如何适用于通用的concept。因为如果我们将要讨论的是通用的学习方法,我们不会总是用“intervals”来做决定,为此我们让玩家1通过函数 c c c来将 X X X中的点分为 1 / 0 1/0 1/0。我们将其成为concept或者target,而玩家2要去学习。也就是说,玩家2通过自己的函数 h h h来标记 X X X中的点,然后将其与 c c c进行比较,我们将 h h h称为hypothesis(hence the use of the letter h)。

    我们通过下面的方法来比较他们:

    err c , D ( h ) = P D ( h ( x ) ≠ c ( x ) ) \text{err}_{c,D}(h)=P_D(h(x)≠c(x)) errc,D(h)=PD(h(x)=c(x))

    假设 h h h关于函数 c c c以及分布 D D D的误差,是通过 D D D得到的 h ( x ) h(x) h(x) c ( x ) c(x) c(x)差异的概率。有些人可能将“差异”部分写为两个函数的对称差异,然后它就变成了一个概率密度。但是作者表示不喜欢这么表达。

    现在对于一个PAC-learning的问题,我们可以表达为:

    如果有一个算法 A A A,面对任意的分布 D D D和函数 c c c,能够以高概率描述出独立抽取样本时,仅产生较小的误差,那么这个方法是PAC-learnable的。

    但是在定义中仍然存在一些模糊的界限,(比如:一些、小、高),也就是说存在太多不确定的概念了。即使对于有限集 2 n { 0 , 1 } 2^n\{0,1\} 2n{0,1},一组在 n n n个元素上的值函数,如果我们希望能够在多项式时间内运行,只能表达其中的一小部分。回到interval的游戏中,如果玩家1选择的concept是任意的,期望玩家2能够获得一个合理的 h h h是不合理的(无论是不是使用了interval)。作为数学家的我正在使用不可测量的集合来描绘一些疯狂的规则,但是只要说一句就足够了:您可能认为您知道有关实数的所有知识,但您不知道。

    所以我们需要归纳出这些concept的可能性,以及学习者的表达能力。这就是concept class的作用。

    Concept Classes

    一个关于 X X X的concept class C C C是一个函数族 X → { 0 , 1 } X\rightarrow\{0,1\} X{0,1}

    不,好吧,还有更多的事情要讲,但现在只是术语的转变。现在我们可以定义由区间选择引起的一类标记函数。我们可以取区间的所有特征函数的集合 χ [ a , b ] ( x ) = 1 _{\chi[a,b]}(x)=1 χ[a,b](x)=1,其中 a ≤ x ≤ b a≤x≤b axb,其他为 0 0 0。现在concept class成为了我们算法中唯一的焦点。也就是说,算法通过concept class的知识来表达假设,因此将工作定义为:

    如果有一种算法 A A A,对于任意的样本的分布 D D D和任意的concept c ∈ C c\in C cC,会高概率的以较小的误差的假设 h ∈ C h\in C hC表达,那么concept class C C C就是PAC-learnable。

    作为未来文章的一个简短的前奏:我们将能够证明,如果 C C C足够简单(想想“低维”),那么任何做得合理的算法都能够学习 C C C。但那是以后的事。现在我们来润色这个定义的其余部分。

    Probably Approximately Correct Learning

    我们并不想用游戏来定义,所以是时候将玩家从脑海中删除了。我们真正关心的是是否有一种算法能在给定随机数据时产生好的假设。但我们必须强化“给予”过程,以及对算法施加的具体限制。
    这听起来令人生畏,但就计算复杂度而言,选择是相当标准的。我们希望算法能够决定它需要多少数据,而不是像在实践中那样将样本作为一个大数据集。为此,我们向它提供一个查询函数,当它被访问时,它会在单位时间内吐出一个样本。然后,我们感兴趣的是通过合理数量的查询函数调用来学习这个concept。
    现在我们可以在我们的工作定义中去掉“一些”、“小”和“高”等词。既然我们想要误差尽可能的小,我们将引入一个参数 0 < ε < 1 / 2 0<\varepsilon<1/2 0ε<1/2来表达期望的误差范围。也就是说我们要找到一个假设 h h h以高概率满足 err c , D ( h ) ≤ ε \text{err}_{c,D}(h)≤\varepsilon errc,D(h)ε
    随着 ε \varepsilon ε越来越小(正如我们期望那样),我们还希望算法可以在允许的时间下运行,所以我们要限制算法的时间和空间多项式在 1 / ε 1/\varepsilon 1/ε内。

    我们还需要另一个参数来描述“高概率”这个内容,所以我们引用 0 < δ < 1 / 2 0<\delta<1/2 0<δ<1/2来表示允许的算法具有较高误差的一小部分。所以我们的目标是至少 1 − δ 1-\delta 1δ的概率下假设产生的误差小于 ε \varepsilon ε,即:
    P D ( err c , D ( h ) ≤ ε ) > 1 − δ P_D(\text{err}_{c,D}(h)≤\varepsilon)>1-\delta PD(errc,D(h)ε)>1δ

    其中, P D P_D PD指的是调用查询函数(以及算法所做的任何其他随机选择)时获得样本的概率。因此,“高概率”是指不太可能发生的事件,即你得到的数据不能代表产生它的分布。这不是选择分布的概率,无论D是多少,学习的算法都必须学习。

    随着我们对 δ \delta δ的限制越来越多,我们希望算法有更多的运行时间,所以我们要求算法在a,b都是多项式时间的。

    多项式时间代表时间/空间复杂度在 O ( 1 ) , O ( n ) , O ( n 2 ) , O ( n 3 ) O(1),O(n),O(n^2),O(n^3) O(1),O(n),O(n2),O(n3)内。

    现在我们有了完整定义的所有部分。

    定义:
    设一个集合 X X X,以及一个关于 X X X的concept class C C C。当一个算法 A ( ε , δ ) A(\varepsilon,\delta) A(ε,δ)能够去表达所有 C C C,比如 c ∈ C c\in C cC以及关于 X X X的分布 D D D,并且保证时间复杂度在 O ( poly ( 1 ε , 1 δ ) ) O(\text{poly}(\frac{1}{\varepsilon},\frac{1}{\delta})) O(poly(ε1,δ1)) 0 < ε , δ < 1 2 0<\varepsilon,\delta<\frac{1}{2} 0<ε,δ<21 A A A产生假设 h h h的误差最大不超过 ε \varepsilon ε的概率小于 1 − δ 1-\delta 1δ,即:

    P D ( P x ∼ D ( h ( x ) ≠ c ( x ) ) ≤ ε ) ≥ 1 − δ P_D(P_{x\sim D}(h(x)≠c(x))≤\varepsilon)≥1-\delta PD(PxD(h(x)=c(x))ε)1δ

    其中 P D P_D PD表示了从 D D D中抽取样本产生 h h h的概率,同样,也可以表达为

    P D ( err c , D ( h ) ≤ ε ) ≥ 1 − δ P_D(\text{err}_{c,D}(h)≤\varepsilon)≥1-\delta PD(errc,D(h)ε)1δ

    Intervals are PAC-Learnable

    既然我们有了这个定义,我们就可以回到实际的学习间隔问题上来。我们的concept类是所有区间特征函数的集合(对于默认情况,我们将添加空的集合)。我们提出的学习这些区间的算法非常简单:只需抓取一堆样本点,取最大和最小的正样本,并将这些作为假设区间的终点。

    现在我们来证明这个算法可以学习任意分布在实数上的区间。此证明将采用以下形式:

    1. 假设选择任意数量的样本数 m m m
    2. 得出在 m m m下的概率关于我们产生的假设的总误差 > ε >\varepsilon >ε
    3. 选择 m m m足够大,使该事件(未能达到低误差)以小概率发生。

    因此,对于任意分布 D D D假设我们有 m m m个样本,然后我们取最小值 I = [ a 1 , b 1 ] I=[a_1,b_1] I=[a1,b1],目标concept J = [ a 0 , b 0 ] J=[a_0,b_0] J=[a0,b0]。我们注意到一件事情,我们的假设包含在真实的区间内,即 I ⊂ J I\subset J IJ。因为样本永远不会说谎,所以最大的样本一定小于最大的正样本,反之亦然。也就是说 a 0 < a 1 < b 1 < b 0 a_0<a_1<b_1<b_0 a0<a1<b1<b0。所以假设产生错误的概率就是 D D D A = [ a 0 , a 1 ] A=[a_0,a_1] A=[a0,a1] B = [ b 1 , b 0 ] B=[b_1,b_0] B=[b1,b0]两个区间内产生正例子的概率。

    这就是上面第二个要点的全部设置。总误差不超过 A A A B B B中出现一个正样本的概率之和。

    err J , D ≤ P x ∼ D ( x ∈ A ) + P x ∼ D ( x ∈ B ) \text{err}_{J,D}≤P_{x\sim D}(x\in A)+P_{x\sim D}(x\in B) errJ,DPxD(xA)+PxD(xB)

    在这里插入图片描述

    图中两个绿色的间隔是可能发生错误的区域。如果我们能保证每个绿色部分都有高概率小于 ε / 2 \varepsilon/2 ε/2,那么我们就完成了。让我们来看看 A A A,这同样也适用于B。定义 A ′ A' A是一个大很大区间 [ a 0 , y ] [a_0,y] [a0,y],在这个区间内, A A A D D D中得到一个正例的概率刚好为 ε / 2 \varepsilon/2 ε/2,如图。

    在这里插入图片描述

    粉色区域 A ′ A' A的总概率权重为 ε / 2 \varepsilon/2 ε/2,如果绿色区域A更大,我们就会冒很大的错误风险,无法进行PAC-learnable。

    如果 A ⊂ A ′ A\subset A' AA,那么情况就很好了,这意味着我们有可能从 A A A中至少以 ε / 2 \varepsilon/2 ε/2的概率取得一个正例。所以我们不希 A ′ ⊂ A A'\subset A AA。但这只有在我们在算法运行期间从未看到 A ′ A' A中的点作为样本的情况下才会发生。当我们有 m m m个样本时,我们可以用 m m m表示从未看到 A ′ A' A样本的概率。

    一个样本不在 A ′ A' A的概率仅为 1 − ε / 2 1-\varepsilon/2 1ε/2(根据定义)。回顾一下我们的基本概率论,两次平局是独立的事件,所以 A ′ A' A错失 m m m次的概率等于每一次未命中的概率的乘积。也就是说,我们选择的贡献误差大于 ε / 2 \varepsilon/2 ε/2的概率最大为

    P D ( A ′ ⊂ A ) ≤ ( 1 − ε / 2 ) m P_D(A'\subset A)≤(1-\varepsilon/2)^m PD(AA)(1ε/2)m

    关于 B B B与上文中内容一样,所以通过并集,在 A A A B B B中发生错误 > ε / 2 >\varepsilon/2 >ε/2的概率,是两者的和。

    P D ( err J , D ( I ) > ε ) ≤ 2 ( 1 − ε / 2 ) m P_D(\text{err}_{J,D}(I)>\varepsilon)≤2(1-\varepsilon/2)^m PD(errJ,D(I)>ε)2(1ε/2)m

    接下来是第三点,我们希望误差很大的概率小于 δ \delta δ,以便于误差小于 1 − δ 1-\delta 1δ,所以:

    2 ( 1 − ε / 2 ) m ≤ δ 2(1-\varepsilon/2)^m≤\delta 2(1ε/2)mδ

    接下来我们去解决 m m m,利用 ( 1 − x ) ≤ e − x (1-x)≤e^{-x} (1x)ex,所以:

    2 e ε m / 2 ≤ δ 2e^{\varepsilon m/2}≤\delta 2eεm/2δ

    则:

    m ≥ ( 2 / ε log ⁡ ( 2 / δ ) ) m≥(2/\varepsilon\log(2/\delta)) m(2/εlog(2/δ))

    现在,我们涵盖了所有基础:我们的算法只是为其输入 ε , δ \varepsilon,\delta ε,δ,样本数 m m m,查询多个样本,并计算包含正例的最匹配区间。由于需要的样本数是关于 1 ε , 1 δ \frac{1}{\varepsilon},\frac{1}{\delta} ε1,δ1的多项式的(我们的算法不会做任何复杂的事情),所以我们遵守了时间和空间的限制。最后,我们证明了我们的算法对从D中提取的新点进行错误分类的概率最大为 δ \delta δ。所以我们证明了定理:

    定理:实数轴上的区间是PAC-learnable的。

    其实PAC到这里,已经差不多知道干了什么了,这里给出了一个proof
    引自知乎

    L D , f ( h ) = Pr ⁡ x ∼ D [ h ( x ) ≠ f ( x ) ] L_{D,f}(h)=\Pr_{x\sim D}[h(x)≠f(x)] LD,f(h)=xDPr[h(x)=f(x)]

    其中 D D D代表样本的分布, f f f代表正确的 f : X → Y f:X\rightarrow Y f:XY y i = f ( x i ) y_i=f(x_i) yi=f(xi) h h h代表假设,也就是分类器。

    L S ( h ) ≡ 1 m ∑ i = 1 m 1 { h ( x i ) ≠ y i } L_S(h)\equiv\frac{1}{m}\sum_{i=1}^m1\{h(x_i)≠y_i\} LS(h)m1i=1m1{h(xi)=yi}

    ∃ h ∗ ∈ H , L ( D , f ) ( h ∗ ) = 0 \exist h^*\in H,L_{(D,f)}(h^*)=0 hH,L(D,f)(h)=0,那么训练集 S S S L S ( h ∗ ) = 0 L_S(h^*)=0 LS(h)=0,称为ERM(Empirical Risk Minimization)。

    L D , f ( h S ) ≤ ε L_{D,f}(h_S)≤\varepsilon LD,f(hS)ε是成功的,反之则不是,那么失败概率的上界
    Pr ⁡ ( L D , f ( h S ) > ε ) \Pr(L_{D,f}(h_S)>\varepsilon) Pr(LD,f(hS)>ε)

    但是假设 L ( D , f ) ( h β ) > ε L_(D,f)(h_\beta)>\varepsilon L(D,f)(hβ)>ε,并且 L S ( h β ) = 0 L_S(h_\beta)=0 LS(hβ)=0,那么这是欺骗了ERM。

    如果 A ⇒ B A\Rightarrow B AB,那么 Pr ⁡ ( A ) ≤ Pr ⁡ ( B ) \Pr(A)≤\Pr(B) Pr(A)Pr(B)

    Pr ⁡ ( L D , f ( h S ) > ε ) ≤ Pr ⁡ ( ⋃ h ∈ H B L S ( h ) = 0 ) ≤ ∑ h ∈ H B Pr ⁡ ( L S ( h ) = 0 ) ( 1 ) \Pr(L_{D,f}(h_S)>\varepsilon)≤\Pr(\bigcup_{h\in H_B}L_S(h)=0)≤\sum_{h\in H_B}\Pr(L_S(h)=0)\qquad(1) Pr(LD,f(hS)>ε)Pr(hHBLS(h)=0)hHBPr(LS(h)=0)(1)
    其中第二个不等号是来自于布尔不等式(Boole’s Inequality)
    Pr ⁡ ( A ∪ B ) ≤ Pr ⁡ ( A ) + Pr ⁡ ( B ) \Pr(A\cup B)≤\Pr(A)+\Pr(B) Pr(AB)Pr(A)+Pr(B)

    现在只需要针对一些 h ∈ H B h\in H_B hHB,求出这些 H B H_B HB在训练集上不犯错

    Pr ⁡ ( L S ( h ) ) = Pr ⁡ ( h ( x i ) = y i , i = 1 , ⋯   , m ) = ∏ i = 1 m Pr ⁡ ( h ( x i ) = y i ) ≤ ( 1 − ε ) m ≤ e − m ε ( 2 ) \Pr(L_S(h))=\Pr(h(x_i)=y_i,i=1,\cdots,m)=\prod_{i=1}^m\Pr(h(x_i)=y_i)≤(1-\varepsilon)^m≤e^{-m\varepsilon} \qquad(2) Pr(LS(h))=Pr(h(xi)=yi,i=1,,m)=i=1mPr(h(xi)=yi)(1ε)memε(2)

    其中第一个不等号是来源于 H B H_B HB的正确率小于 1 − ε 1-\varepsilon 1ε,第二个是来源于 1 − ε ≤ e − ε 1-\varepsilon≤e^{-\varepsilon} 1εeε

    结合(1)(2),可以得到

    Pr ⁡ ( L D , f ( h S ) > ε ) ≤ ∣ H B ∣ e − ε m ≤ ∣ H ∣ e − ε m \Pr(L_{D,f}(h_S)>\varepsilon)≤|H_B|e^{-\varepsilon m}≤|H|e^{-\varepsilon m} Pr(LD,f(hS)>ε)HBeεmHeεm

    由于 H H H是无限的,所以我们用 ∣ H ∣ |H| H来代替这个无限的集合,以表达一个量。


    然后,我们考虑一下机器学习的理论性,引自知乎的一个回答,Alexnet为什么有 7 层 feature layer(可能记错数字了),不是8层,不是6层?仅仅是因为是不同架构试了一下,7层效果不错,完全没有理论上的 motivation。超参数为什么是这么定的?为什么卷积层之间要放 dropout layer?完全就是,“过去的人弄了,效果不错”,或者“我试了一下,效果不错”。好像是 David Duvenaud 说的,现在的神经网络设计,就想是物理学出现前的造桥。有人造桥,放了栏杆,效果不错,发篇论文;有人加了几个柱子,效果不错,再发一篇。

    展开全文
  • pac全自动代理

    千次阅读 2020-04-10 14:25:44
    一个PAC文件包含一个JavaScript形式的函数“FindProxyForURL(url, host)”。 它是一段JavaScript 脚本: function FindProxyForURL(ur1,host) { return"DIRECT"; } 上面就是一个最简洁的PAC文件,意思...

    一个PAC文件包含一个JavaScript形式的函数“FindProxyForURL(url, host)”。

    它是一段JavaScript 脚本:

    function FindProxyForURL(ur1,host)
    
    { 
    
    return"DIRECT";
    
    }

    上面就是一个最简洁的PAC文件,意思是所有流量都直接进入互联网,不走代理。
    PAC 语法和函数
    上面函数中,url字段就是我们在浏览器地址栏输入的待访问地址,host为该地址对应的hostname,return 语句有三种指令:
    DIRECT,表示无代理直接连接
    PROXY host:port,表示走host:port的proxy 服务
    SOCKS host:port,表示走host:port的socks服务
    而返回的接口可以是多个代理串联:

    return"PROXY 222.20.74.89:8800;SOCKS 222.20.74.89:8899;DIRECT";

    上面代理的意思是,默认走222.20.74.89:8800的proxy服务;如果代理挂了或者超时,则走222.20.74.89:8899的socks代理;如果 socks也挂了,则无代理直接连接。
    PAC提供了几个内置的函数,下面挨个介绍下:

    dnsDomainls

    类似于==,但是对大小写不敏感,

    if(dnsDomainIs(host,"google.com")||
    dnsDomainIs(host,"www.google.com"))
    
    {
    return"DIRECT";
    
    }

    shExXpMatch Shell

    正则匹配,*匹配用的比较多,可以是*http:/∥example.com,也是可以下面这样,

    if(shExplMatch(host,"vpn.domain.com)l|
    shExplMatch(ur1,"http://abcdomain.com/folder/*"))
    
    {
    return"DIRECT";
    
    }

    isInNet

    判断是否在网段内容,比如10.1.0.0这个网段,10.1.1.0就在网段中,

    if(isInNet(dnsResolve(host),"172.16.0.0","255.240.0.0"))
    
    {
    return"DIRECT";
    
    }

    mylpAddress

    返回主机的IP

    if(isInNet(myIpAddress(),"10.10.1.0","255.255.255.0))
    
    {
    return"PROXY 10.10.5.1:8080";
    
    }

    dnsResolve

    通过DNS查询主机ip
     

    if(isInNet(dnsResolve(host),"10.0.0.0","255.0.0.0)||
    isInNet(dnsResolve(host),"172.16.0.0","255.240.0.0)l|
    
    isInNet(dnsResolve(host),"192.168.0.0","255.255.0.0)||
    isInNet(dnsResolve(host),"127.0.0.0","255.255.255.0"))
    
    {
    return"DIRECT";
    
    }

    isPlainHostName

    判断是否为诸如http://barret/,http://server-name/这样的主机名
     

    if(isPlainHostName(host))
    
    {
    return"DIRECT";
    
    }

    isResolvable

    判断主机是否可访问

    if(isResolvable(host)){
    return"PROXY proxyl.example.com:8080";
    
    }

    举例一个全自动代理VPN服务器

    function FindProxyForURL(url, host) {
        if (shExpMatch(host, '10.134.*.*'))   //地址是需要访问的地址
      {
    	return 'PROXY *.*.*.*:端口';
      }
      
      else if (shExpMatch(host, '172.16.*.*'))  //地址是需要访问的地址
      {
    	return 'PROXY *.*.*.*:端口';
      }
     
      else
      { 
    	return 'DIRECT';
       }
    }
    

    如何使用

    先介绍一下设置各个系统代理的方法。
    Windows
    Internet选项--连接 选项卡--局域网设置(如果是电脑拨号上网, 这里点'设置')-- 使用自动配置脚本--填入PAC地址--确定 
    Mac OS X
    系统设置 -- 网络 --高级 --代理 --自动代理配置 --URL中填入PAC地址 -- 好

    展开全文
  • 关于证明PAC可学习

    千次阅读 2019-09-10 09:49:01
    关于证明PAC可学习参考文章 最近在学习statistical learning,学习到了《深入理解机器学习:从算法到原理》这本书,其中有对PAC进行了详细的介绍,在做题的时候对PAC的证明十分的困惑,这里基本想清楚后做一个总结,...

    关于证明PAC可学习


    最近在学习statistical learning,学习到了《深入理解机器学习:从算法到原理》这本书,其中有对PAC进行了详细的介绍,在做题的时候对PAC的证明十分的困惑,这里基本想清楚后做一个总结,如有错误的还请指出。

    首先来明确一个概念,PAC可学习是针对什么而言的,我的理解是 对于我们的假设类H(通俗点说就是分类器的集合) 可以找到一个近似正确的分类器,这个分类器满足在这里插入图片描述
    其中定义m个sample组成S空间,其中每个sample服从D分布,并且互相独立;
    如果存在一个算法A,在m(sample个数)有限的情况下,找到假设h;
    使得对于任意两个数ε,δ,(ε,δ都大于0小于1)概率P(h对S中sample预测错误次数大于ε) < δ;
    在这里插入图片描述
    现在我们有一个分类器集合R,我们想证明R是PAC可学习的,因此我们找到一个包含所有positive examples(这里是蓝色的点)最小的R’,来证明R’可以满足我上面所说过的不等式,即完成了R是PAC可学习的证明。(换句话说,由于我们找到了近似正确的分类器R’,所以R是PAC可学习的)

    现在我们的目标是证明R’满足上面说过的不等式,这里我们做一个转换:
    在这里插入图片描述
    我们由R向内扩展出4个小矩形:r1,2,3,4。每个r的概率x/4。(这里所说的概率是指当我们做测试集测试时的蓝色点落入r而形成的错误概率,因为蓝色点落入了r中,会被R’归类为红色的点所以形成错误;而对于R’,它的错误率相当于R’和R的补集

    所以,当R(R‘)>ε时,R’必须错过至少一个ri,1<=i<=4

    因为,当R’不相交于任何一个r时,R‘的错误率就大于等于ε,这里解释是这样的,当R’与ri,1<=i<=4,都相切时,R‘的错误率=ε,而R’与任何一个ri都不相交时,r上的错误率ε加上R’与r之间会空出一部分空间所形成的错误率==>R‘的错误率就大于ε。

    R’与r都相交时,R‘的错误率就小于ε,这个很好理解就不过多解释了。

    而当R’与r中的1个相交时,我们可能会有疑问,为什么此时R‘的错误率仍然大于ε呢? 这是因为,正如上图所示,R’与r2相交了一部分,但是和其他三个r没有相交,对于与r1,3,4没有相交而空出来的那部分空间,我们仍然可以用人为的方式来使得空出的空间大于R’与r2相交的空间,并保证错误率仍然大于ε。(对于其他的相交情况是同理的)

    因此我们可以得出我们的不等式了:
    在这里插入图片描述
    (因为这里我们是想求错误率大于ε的这个概率的一个上界,所以我们取R’与任何一个r都不相交的概率为上界。)

    由于并集的概率小于各自概率的和:

    image

    由于S中的每个sample的独立分布的,并且落在r1中的概率为x/4,所以

    image

    由于我们要求错误个数大于x的概率小于y,所以可以定义如下的不等式。

    image

    推导出m的下限。

    这就说明只需要有限个实例就能满足上面的概率不等式。


    这就说明了,上面这个平面图形中学习矩形的问题是PAC可学习的。

    证明过程适用与《深入理解机器学习》这本书的习题2.3和3.3,希望可以给还在迷惑的同学一些帮助

    参考文章

    本人比较懒,所以图片和部分推导过程引用了:PAC学习框架 https://www.cnblogs.com/alphablox/p/5935826.html 这篇文章
    本文也是针对该文章基础上具体了细节和新增了一些个人理解,如有侵权,立刻删除侵权的内容。

    展开全文
  • 理解PAC学习理论

    千次阅读 2018-02-05 11:48:27
    PAC学习相关理论的一个重要总结:同等条件下,模型越复杂泛化误差越大。同一模型在样本满足一定条件的情况下,其数量越大,模型泛化误差越小,因此还可以说模型越复杂越吃样本。本文旨在让大家快速了解这句话的含义...
  •   当大家通过示例设计并分析算法的时候,有没有可能对以下几个问题产生疑虑: 什么样的算法能够有效地学习数据特征?...PAC学习框架(Probably Approximately Correct (PAC) learning framework)就是从能...
  • ICPDAS 提供简单易用的开发工具(Xserver,VxComm,Modbus函数库)。客户使用这些函数库可以很容易将串行设备整合成具有网络通讯能力。并且可以透过标准的Modbus通讯协议和SCADA软件做整合(例如:Indusoft,ISaGARF,...
  • PAC 代理自动发现简介

    千次阅读 2019-06-05 16:20:00
    代理自动配置(PAC)文件包含一组用javaScript编码的规则,允许web浏览器确定是将Web流量直接发送到Internet还是通过代理服务器发送 RAC文件可以控制Web浏览器处理HTTP,HTTPS和FTP流量的方式 使用RAC文件的好处 受...
  • 学习理论-PAC理论

    千次阅读 2018-09-17 22:49:41
    ​ 概率近似正确(PAC)理论是从概率的角度来衡量模型的正确率,给出了PAC可辨识,样本复杂度界,误差上界。 偏差/方差 ​ 偏差和方差是机器学习中很重要的两个概念,在分析模型时对应于欠拟合和过拟合问题。 以...
  • pacMEG.m函数可用于创建相位x幅度协调制图,用于按试验x时间矩阵排列的数据: % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PACmeg: a function to do PAC % % Author:...
  • 给定样本集 D={(x1,y1),(x2,y2),...(xm,ym)}D=\{ (\pmb{x_1}, y_1), (\pmb{x_2}, y_2), ...(\pmb{x_m}, y_m)\}D={(x1​​x1​​​x1​,y1​),(x2​​x2​​​x2​,y2​),...(xm​​xm​​​xm​,ym​)}, yi∈{−1,+1...
  • 机器学习理论: PAC学习

    千次阅读 2019-01-26 02:05:27
    即f(x)就是x的真实标签。  Learner output: 一个函数h, h: X -> Y。也就是最后要学习得到的一个预测器。  H: hypothesis class。即所有的可能的预测器组成的集合。  以上就是我们要定义的一些东西。所以...
  • PAC

    2018-03-12 16:23:12
    为什么机器能够学习——PAC Learnability 机器学习中,我们根据训练集训练一个模型,来对测试数据进行预测。通常我们并不关心模型在训练集上的好坏(即训练误差,in sample error),举个简单例子,我们想要根据前...
  • 详解代理自动配置 PAC

    千次阅读 2018-04-04 17:32:00
    后续会写一系列文章记录我了解到的知识点,本文要说的是我们平时接触比较多的 PAC,全名为 proxy auto-config。 什么是 PAC PAC,一个自动代理配置脚本,包含了很多使用 JavaScript 编写的规则,它能够决定...
  • PAC原理及其算法实现

    千次阅读 2020-05-25 23:35:36
    pac的几种应用 语音性别识别数据集 MNIST数据集 用PCA做数据可视化 用PCA做图像压缩 将在今后的研究中做进一步探索 代码实现 以下为matlabe具体实现的代码 %%%%%%%%%%%%打开一个30行8列数据的txt文件%%%%%%%%%%%%%%...
  • (注: x是指使用A密钥还是使用B密钥) Use of the NOP space 为了兼容,在不支持Pointer authentication的处理器上,使用NOP代替AUTIASP Enabling pointer authentication SCTLR_ELx: • EnIx - Enables ...
  • PAC学习框架-模型定义

    千次阅读 2018-08-21 11:13:32
    存在算法A和多项式 poly(.,.,.,.)对于任意的ε和δ(其中ε是最大错误率,δ是置信度),针对X上的任意分布D,针对任意的c∈C, 针对任意的数量m&gt;poly(1/ε,1/δ,n,size(c))的学习集,以下概率都成立: ...
  • 经典机器学习系列(十四)PAC-Learning

    千次阅读 2020-07-18 13:18:58
    文章目录PAC学习模型定义 Generalization error :定义 Empirical error :Learning axisaligned rectanglesPAC learningGuarantees for finite hypothesis sets — consistent caseGuarantees for finite ...
  • ubuntu16.04下安装ROI_PAC

    2019-08-07 10:07:31
    1. 准备安装包 fftw安装包,我这里用的是fftw-3.2.1.tar.gz(如果fftw不是.tar.gz格式可以使用tar -zcvf fftw-3.2.1.tar.gz /fftw的目录/fftw文件名 压缩为该格式,后面...roi_pac安装包,我用的是ROI_PAC_3_0_1.tg...
  • ICPDAS 提供简单易用的开发工具(Xserver,VxComm,Modbus函数库)。客户使用这些函数库可以很容易将串行设备整合成具有网络通讯能力。并且可以透过标准的Modbus通讯协议和SCADA软件做整合(例如:Indusoft,ISaGARF,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,653
精华内容 3,061
热门标签
关键字:

pacx