Skip to content

Commit

Permalink
update and replace travis with github-action
Browse files Browse the repository at this point in the history
  • Loading branch information
szcf-weiya committed Jun 20, 2021
1 parent 8d9561c commit 01aac95
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 31 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: gh-pages
on: push

jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2

- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.6'

- name: Install dependencies
run: |
pip install mkdocs==0.17.2
pip install mkdocs-material==2.5.2
pip install python-markdown-math
pip install pymdown-extensions
pip install git+https://github.com/szcf-weiya/mkdocs-git-revision-date-plugin.git
- name: Build
run: |
python gentag.py
mkdocs build
mv rmds/_site/ site/rmds
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./site
21 changes: 0 additions & 21 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ESL-CN

[![Build Status](https://travis-ci.org/szcf-weiya/ESL-CN.svg?branch=master)](https://travis-ci.org/szcf-weiya/ESL-CN)
[![gh-pages](https://github.com/szcf-weiya/ESL-CN/actions/workflows/gh-pages.yml/badge.svg)](https://github.com/szcf-weiya/ESL-CN/actions/workflows/gh-pages.yml)
[![Gitter](https://badges.gitter.im/ESL-CN/community.svg)](https://gitter.im/ESL-CN/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

The Elements of Statistical Learning (ESL) 的中文翻译、代码实现及其习题解答。
Expand Down
20 changes: 20 additions & 0 deletions code/Ex.3.22.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
library(mvtnorm)
library(expm)
set.seed(123)
K = 3; p = 5; N = 100;
X = matrix(runif(p*N), nrow = N)
X = scale(X, scale = F)
B = matrix(runif(p*K), nrow = p)
Y = X %*% B + rmvnorm(N, sigma = diag(K))
Y = scale(Y, scale = F)
Bhat = solve(t(X) %*% X) %*% t(X) %*% Y
Yhat = X %*% Bhat
SigmaYY1 = t(Y) %*% Y / N
SigmaYY2 = t(Y - Yhat) %*% (Y - Yhat) / (N - p*K)
SigmaXX = t(X) %*% X / N
SigmaYX = t(Y) %*% X / N
Mright = SigmaYX %*% solve(sqrtm(SigmaXX))
M1 = solve(sqrtm(SigmaYY1)) %*% Mright
M2 = solve(sqrtm(SigmaYY2)) %*% Mright
svd(M1)$u
svd(M2)$u
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ $$
$$
如果 odds 大于 1,则我们选择模型 $m$,否则我们选择模型 $\ell$.最右端的值
$$
BF(\mathbf Z)=\frac{\Pr(\mathbf Z\mid\cal M_m)}{\Pr(\mathbf Z\mid \cal M_\ell)}\tag{7.39}
\mathrm{BF}(\mathbf Z)=\frac{\Pr(\mathbf Z\mid\cal M_m)}{\Pr(\mathbf Z\mid \cal M_\ell)}\tag{7.39}
$$
称为 **贝叶斯因子 (Bayes factor)**, 这是数据对于后验 odds 的贡献.

Expand Down
19 changes: 11 additions & 8 deletions docs/10-Boosting-and-Additive-Trees/Bibliographic-Notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,23 @@
| ---- | ---------------------------------------- |
| 翻译 | szcf-weiya |
| 发布 | 2017-09-05 |
| 更新 | {{ git_revision_date }} |

Schapire (1990)[^1]在PAC学习框架(Valiant, 1984[^2]; Kearns and Vazirani, 1994[^3])发展了第一个简单的boosting过程.Schapire证明了弱学习器(weak learner)总是可以通过在输入数据流的过滤版本训练两个额外的分类器来提高效果.弱学习器是是产生两类别分类器的算法,该分类器保证了效果回避抛硬币猜测要显著地好.当在前$N$个训练点上学习出初始的分类器$G_1$,
Schapire (1990)[^1] 在 PAC 学习框架中 (Valiant, 1984[^2]; Kearns and Vazirani, 1994[^3]) 发展了第一个简单的boosting 过程.Schapire 证明了 **弱学习器 (weak learner)** 总是可以通过在输入数据流的过滤版本训练两个额外的分类器来提高效果.弱学习器是产生两类别分类器的算法,该分类器保证了效果要显著地比抛硬币的猜测好.当在前 $N$ 个训练点上学习出初始的分类器 $G_1$,

- $G_2$$N$个点的新样本中学习,其中有一半是被$G_1$误分类的;
- $G_3$$G_1$$G_2$都误分类的样本点上学习
- boosted分类器则为$G_B=majority\; vote(G_1,G_2,G_3)$.
- $G_2$$N$ 新样本点中学习,其中有一半是被 $G_1$ 误分类的;
- $G_3$$G_1$$G_2$ 不一致的 $N$ 个样本点上学习
- boosted 分类器则为 $G_B=majority\; vote(G_1,G_2,G_3)$.

Schapire的“Strength of Weak Learnability”定理证明了$G_B$提高了$G_1$的效果.
Schapire 的“Strength of Weak Learnability”定理证明了 $G_B$ 提高了 $G_1$ 的效果.

Freund (1995)[^4]提出了“boost by majority”的变体,它同时结合了许多弱分类器并且提高了Schapire简单的boosting算法的效果.<!--这个定理对要求弱分类器以固定误差率产生的分类器的算法都支持.-->这个定理假设弱分类器以固定误差率产生分类器.这导出了更自适应且更实际的AdaBoost(Freund and Schapire, 1996a[^5])以及其衍生算法,在AdaBoost及其衍生算法中去掉了那条假设.Freund and Schapire (1996a)[^6]和Schapire and Singer (1999)[^7]提供了一些理论来支持他们的算法,其中是以泛化误差上界的形式.这个理论在计算机学习邻域进化了,起初基于PAC学习的概念.其它一些理论试图从博弈论解释boosting(Freund and Schapire, 1996b[^6]; Breiman, 1999[^9]; Breiman, 1998[^10]),以及从VC理论来解释(Schapire et al., 1998[^11]).与AdaBoost算法有关的理论和界都很有趣,但是往往界太松了,实际的重要性不是很大.实际上,boosting达到了比这些界更深刻的结果.Schapire (2002)[^12]和Meir and Rätsch (2003)[^13]给出了比本书第一版更新的结果的概述
Freund (1995)[^4 ]提出了“boost by majority”的变体,它同时结合了许多弱分类器并且提高了 Schapire 简单的 boosting 算法的效果.支持这些算法的理论要求弱分类器以固定误差率产生分类器.这导出了更自适应且更实际的 AdaBoost (Freund and Schapire, 1996a[^5]) 以及其衍生算法,在 AdaBoost 及其衍生算法中去掉了那条假设

Friedman et al. (2000)[^16]和Friedman (2001)[^15]是本章的基础.Friedman et al. (2000)[^16]在统计上分析了AdaBoost,导出了指数准则,并且证明了它估计了类别概率的对数几率.他们提出了可加树模型,right-sized树以及10.11节的ANOVA表示,以及多类别logit的公司.Friedman (2001)[^17]发展了梯度boosting,以及分类和回归的收缩,而Friedman (1999)[^18]探索了boosting的随机变体.Mason et al. (2000)[^19]也包括boosting的梯度形式.正如Friedman et al. (2000)[^20]中发表的讨论中显示,关于boosting怎样以及为什么有效存在争议
Freund and Schapire (1996a)[^6] 和 Schapire and Singer (1999)[^7] 提供了一些以泛化误差上界的形式的理论来支持他们的算法.这个理论已经在计算机学习领域中发展,起初基于 PAC 学习的概念.其它一些理论试图从博弈论解释 boosting (Freund and Schapire, 1996b[^6]; Breiman, 1999[^9]; Breiman, 1998[^10]),以及从 VC 理论来解释 (Schapire et al., 1998[^11]).与 AdaBoost 算法有关的理论和界都很有趣,但是往往界太松了,实际的重要性不是很大.实际中,boosting 达到了比这些界更深刻的结果.Schapire (2002)[^12] 和 Meir and Rätsch (2003)[^13] 给出了比本书第一版更新的结果的概述

因为在本书的第一版发表时,辩论仍然在进行,并且扩散到了统计邻域,有一系列的论文讨论boosting的一致性(Jiang, 2004[^21]; Lugosi and Vayatis, 2004[^22]; Zhang and Yu, 2005[^23]; Bartlett and Traskin, 2007[^24]).Mease and Wyner (2008)[^25]通过一系列的仿真例子来质疑作者们关于boosting的解释;作者们的回应(Friedman et al., 2008a[^26])解决了大部分的反对意见.最近Bühlmann and Hothorn (2007)[^27]的概述支持作者们boosting的方法.
Friedman et al. (2000)[^16] 和 Friedman (2001)[^15] 是本章的基础.Friedman et al. (2000)[^16] 在统计上分析了AdaBoost,导出了指数准则,并且证明了它估计了类别概率的对数几率.他们提出了可加树模型,right-sized 树以及 [10.11 节](../10.11-Right-Sized-Trees-for-Boosting.md)的 ANOVA 表示,以及多类别逻辑斯蒂形式.Friedman (2001)[^17] 发展了梯度 boosting,以及分类和回归的收缩,而 Friedman (1999)[^18] 探索了 boosting 的随机变体.Mason et al. (2000)[^19] 也包括boosting 的梯度形式.正如 Friedman et al. (2000)[^20] 中发表的讨论中显示,关于 boosting 怎样以及为什么起作用仍存在争议.

因为在本书的第一版发表时,辩论仍然在进行,并且扩散到了统计邻域,有一系列的论文讨论 boosting 的一致性 (Jiang, 2004[^21]; Lugosi and Vayatis, 2004[^22]; Zhang and Yu, 2005[^23]; Bartlett and Traskin, 2007[^24]).Mease and Wyner (2008)[^25] 通过一系列的仿真例子来质疑我们关于 boosting 的解释;我们的回应 (Friedman et al., 2008a[^26]) 解决了大部分的反对意见.最近 Bühlmann and Hothorn (2007)[^27] 的概述支持我们 boosting 的方法.

[^1]: Schapire, R. (1990). The strength of weak learnability, Machine Learning 5(2): 197–227.
[^2]: Valiant, L. G. (1984). A theory of the learnable, Communications of the ACM 27: 1134–1142.
Expand Down

0 comments on commit 01aac95

Please sign in to comment.