Skip to content

Commit a10ae65

Browse files
author
holbrook
committed
init
1 parent 8993fae commit a10ae65

File tree

3,249 files changed

+238340
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,249 files changed

+238340
-0
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "themes/next"]
2+
path = themes/next
3+
url = https://github.com/holbrook/hexo-theme-next

.travis.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
language: node_js
2+
node_js: stable
3+
4+
# Travis-CI Caching
5+
cache:
6+
directories:
7+
- node_modules
8+
9+
10+
# S: Build Lifecycle
11+
install:
12+
- npm install
13+
14+
#before_script:
15+
# - npm install -g gulp
16+
17+
script:
18+
- cp templates/html.tpl node_modules/hexo-ipynb/
19+
- hexo clean && hexo g -d
20+
21+
after_script:
22+
- cd dist
23+
- git init
24+
- git config user.name "holbrook"
25+
- git config user.email "[email protected]"
26+
- git add .
27+
- git commit -m "Update docs"
28+
- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:gh-pages
29+
# E: Build LifeCycle
30+
31+
branches:
32+
only:
33+
- master
34+
env:
35+
global:
36+
- GH_REF: github.com/holbrook/holbrook.github.io
37+
- secure: "nvY19brtChju6NXeucDCpo7l3irOaI22vqlef2PLalNN0iiOpsBgHQwxZILdTHGjfPuRG3aC28JcSx6Q1DT+FpVGHlOCSTOxsBt5AIC5B8vpt0CummpLxhF/LUcyzcObS0vf34WHctqktWQ3qL7c98SAhCSsm3/Fsksob055V8Z32hNm/SHE5Z+cIMmG8KDvCbxmTsfYAxRw9/glOdI6I3AtD4aZqMCRwYlTdxk9WJqFJ20NFM4d0VQyDaCslr4cL9dv9xrC7TWbCB5shCs69hGdVC+NeCrmaV2q6zPXfaTC/F+ZpX7LIgCHzMANSd/4HFaQcct0SjhKiNRqcmN1nXcEK2rweC+z6wIrz/bJ5916+Zm1pqgcnjdgZmcGuimEzhB26xQcX6cfR96H72Vzoyd8uYpULdkL0ElZtIyT2f6uLZph71yL2O5EEa7P4YKdzKMZIhP8PeDTwMGSkXZOSUsZrwXMvaNCtXHj+GPk2fnrloBgdeoPxjYCpkfgAcwGh82YLbI4gbnSjiIFdGXOy73OhQSOOZ0TJm345bopdSW/DOWUOw+44huc7NllQ/2HgUt5iq86asV7xFMEqbuJXKqEz2I93cFAm+fewVkI2xYh6cnifMeg+znSlO5tFoRPxKn4kgF/W4FMtmspUJHuLEpHSroay7mt4oUhckmHFrc="

Makefile

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
help:
2+
@echo 'Makefile for Hexo with Travis CI '
3+
@echo ' '
4+
@echo 'Usage: '
5+
@echo ' make html (re)generate the web site '
6+
@echo ' make clean remove the generated files '
7+
@echo ' make regenerate regenerate files upon modification '
8+
@echo ' make publish generate using production settings '
9+
@echo ' make serve [PORT=8000] serve site at http://localhost:8000'
10+
@echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 '
11+
@echo ' make devserver [PORT=8000] start/restart develop_server.sh '
12+
@echo ' make stopserver stop local server '
13+
@echo ' make ssh_upload upload the web site via SSH '
14+
@echo ' make rsync_upload upload the web site via rsync+ssh '
15+
@echo ' make dropbox_upload upload the web site via Dropbox '
16+
@echo ' make ftp_upload upload the web site via FTP '
17+
@echo ' make s3_upload upload the web site via S3 '
18+
@echo ' make cf_upload upload the web site via Cloud Files'
19+
@echo ' make github upload the web site via gh-pages '
20+
@echo ' '
21+
@echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html '
22+
@echo 'Set the RELATIVE variable to 1 to enable relative urls '
23+
@echo ' '
24+
25+
html:
26+
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
27+
28+
clean:
29+
[ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR)
30+
31+
regenerate:
32+
$(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
33+
34+
serve:
35+
cp templates/html.tpl node_modules/hexo-ipynb/
36+
hexo s
37+
38+
serve-global:
39+
ifdef SERVER
40+
cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 $(SERVER)
41+
else
42+
cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 0.0.0.0
43+
endif
44+
45+
46+
devserver:
47+
ifdef PORT
48+
$(BASEDIR)/develop_server.sh restart $(PORT)
49+
else
50+
$(BASEDIR)/develop_server.sh restart
51+
endif
52+
53+
stopserver:
54+
$(BASEDIR)/develop_server.sh stop
55+
@echo 'Stopped Pelican and SimpleHTTPServer processes running in background.'
56+
57+
publish:
58+
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS)
59+
60+
ssh_upload: publish
61+
scp -P $(SSH_PORT) -r $(OUTPUTDIR)/* $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)
62+
63+
rsync_upload: publish
64+
rsync -e "ssh -p $(SSH_PORT)" -P -rvzc --delete $(OUTPUTDIR)/ $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR) --cvs-exclude
65+
66+
dropbox_upload: publish
67+
cp -r $(OUTPUTDIR)/* $(DROPBOX_DIR)
68+
69+
ftp_upload: publish
70+
lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
71+
72+
s3_upload: publish
73+
s3cmd sync $(OUTPUTDIR)/ s3://$(S3_BUCKET) --acl-public --delete-removed --guess-mime-type --no-mime-magic --no-preserve
74+
75+
cf_upload: publish
76+
cd $(OUTPUTDIR) && swift -v -A https://auth.api.rackspacecloud.com/v1.0 -U $(CLOUDFILES_USERNAME) -K $(CLOUDFILES_API_KEY) upload -c $(CLOUDFILES_CONTAINER) .
77+
78+
github: publish
79+
ghp-import -m "Generate Pelican site" -b $(GITHUB_PAGES_BRANCH) $(OUTPUTDIR)
80+
git push origin $(GITHUB_PAGES_BRANCH)

OLD/.travis.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
sudo: required
2+
dist: Xenial
3+
4+
language: python
5+
6+
python:
7+
- "3.6"
8+
9+
10+
11+
#env:
12+
# - secure: "Hl7Mg82Li3e+rPRsll4dH1HgLvJKtJH2RASi/qX/lGsMALzsROJDYTJoTa2LHsFM46bbX+hp2zVCUs6o++S4sRTvOk50YnJUN0b3eqN/FmUbLs5ba7Y49QAoxbTduShTKxtmrkA3wizqTIS/TSCwrjtlt4Io/9PKz3g1Y+1SSDI="
13+
14+
branches:
15+
only:
16+
- develop-pelican
17+
- develop
18+
19+
cache:
20+
- pip
21+
22+
before_install:
23+
- sudo apt-get update
24+
- sudo apt-get install parallel graphviz
25+
26+
install:
27+
- sudo pip install pelican jinja2 py3babel babel beautifulsoup4 markdown six==1.10.0 jupyter
28+
- sudo locale-gen zh_CN.UTF-8
29+
- locale -a
30+
- pelican --version
31+
32+
script:
33+
# - git config --global user.email "$GIT_EMAIL"
34+
# - git config --global user.name "$GIT_NAME"
35+
- git config --global push.default simple
36+
# - git clone --depth 1 https://github.com/holbrook/pelican-plugins.git plugins
37+
# copy plant uml
38+
- sudo mkdir -p /opt/plantuml
39+
- sudo cp lib/plantuml.jar /opt/plantuml
40+
- echo "#! /bin/sh" > plantuml
41+
- echo 'exec java -jar /opt/plantuml/plantuml.jar "$@"' >> plantuml
42+
- sudo install -m 755 -D plantuml /usr/bin/plantuml
43+
- plantuml -version
44+
45+
- make publish
46+
47+
#after_success:
48+
# - cd output
49+
# - git add -A .
50+
# - git commit -m "update from travis"
51+
# - git push --quiet
190 KB
Loading
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
layout: post
3+
title: "机器学习问题的一般框架"
4+
description: ""
5+
category:
6+
tags: [机器学习]
7+
---
8+
9+
机器学习研究计算机程序如何随着经验的积累,`自动`提高性能的问题。
10+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
digraph G{
2+
实验生成器 -> 执行系统[label="新问题"];
3+
实验生成器 -> 泛化器 [label="假设" dir="back"];
4+
执行系统 -> 鉴定器[label="解答路线"];
5+
泛化器 -> 鉴定器 [ label="训练样例" dir="back"];
6+
}
Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
2+
机器学习问题,通常可以分为三个步骤:
3+
4+
1. 数据准备与预处理
5+
2. 模型选择与训练
6+
3. 模型验证与参数调优
7+
8+
scikit-learn的基本功能主要被分为六个部分:
9+
10+
分类,回归,聚类,数据降维,模型选择,数据预处理
11+
12+
# 机器学习算法分类
13+
14+
机器学习的模型,
15+
16+
输入 --> 模型(特征向量)--> 输出
17+
18+
19+
# 输出空间Y
20+
21+
* 二类: 是非问题,Y= {true, false}
22+
* 多类: Y = { 1,2,3,...K }
23+
* 结构学习: Y = structures (很多类别)
24+
* 回归: Y=R(实数范围),即无限可能
25+
26+
分类问题
27+
聚类问题
28+
回归问题
29+
30+
二类分类应用非常广泛,比如判断是否为垃圾邮件、广告投资是否能盈利、学习系统上在下一题答题是否正确。
31+
二类分类在机器学习中地位非常重要,是其他算法的基础。
32+
33+
多类别分类的应用,比如根据一张图片,得出图片中是苹果、橘子还是草莓等;
34+
还有像Google邮箱,将邮件自动分成垃圾邮件、重要邮件、社交邮件、促销邮件等。
35+
多类别分类在视觉或听觉的辨识中应用很广泛。
36+
37+
回归分析在股票价格预测和天气气温的预测上被广泛应用。
38+
39+
结构学习(Structured Learning)在自然语言处理中,自动的词性标注是很典型的结构学习的例子。
40+
比如给定机器一个句子,由于词语在不同的句子当中可能会有不同的词性,i
41+
所以该方法是用来对句子的结构特性的理解。这种学习方法可以被看做是多类别分类,
42+
但与多类别分类不同的是,其目标的结构种类可能规模很大,其类别是隐藏在句子的背后的。
43+
这种结构学习的例子还有例如说,生物中蛋白质3D立体结构,自然语言处理方面。
44+
45+
结构学习在有些地方被描述成标注(tagging)问题,标注问题的输入是一个观测序列,
46+
输出是一个标记序列或状态序列。标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列作为预测。
47+
48+
# 特征向量
49+
50+
* 监督学习(supervised learning)
51+
* 无监督学习(unsupervised learning)
52+
- 聚类(clustering)
53+
{x[n]} => cluster(x) 这里数据的类别是不知道的,根据某种规则得到不同的分类,
54+
可以近似看做无监督的多类别分类。
55+
例如:将文章按主题分类,或划分客户类型
56+
- 密度估计(density estimation),
57+
{x[n]} => density(x)
58+
这里的density(x) 可以是一个概率密度函数或者概率函数,
59+
可以近似看做无监督的有界回归问题。
60+
例如:根据位置的交通情况报告,预测事故危险多发的区域。
61+
- 异常检测(outlier detection)
62+
{x[n]} => unusual(x) ,可以看做近似的无监督二类分类问题。
63+
例如:根据网络的日志的情况,检测是否有异常入侵行为,
64+
这是一个极端的“是非题”,可以用非监督的方法来得出。
65+
* 半监督学习(Semi-supervised learning)
66+
监督学习与无监督学习相结合的一种学习方法。
67+
主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。
68+
半监督学习是利用未标记的大量数据提升机器学习算法的表现效果。
69+
半监督学习的主要算法有五类:
70+
71+
- 基于概率的算法;
72+
- 在现有监督算法基础上作修改的方法;直
73+
- 接依赖于聚类假设的方法;
74+
- 基于多试图的方法;
75+
基于图的方法。
76+
77+
半监督学习的例子,比如Facebook上有关人脸照片的识别,可能只有一小部分人脸是被标记的,大部分是没有被标记的。
78+
79+
* 增强学习(Reinforce learning)
80+
强化学习是一种以环境反馈作为输入的、特殊的、适应环境的机器学习方法。
81+
所谓强化学习是指从环境状态到行为映射的学习,以使系统行为从环境中获得的累积奖赏值最大。
82+
该方法不同与监督学习技术那样通过正例、反例来告知采取何种行为,
83+
而是通过试错(trial-and-error)的方法来发现最优行为策略。
84+
85+
这里的输出并不一定是你真正想要得到的输出,而是用过奖励或者惩罚的方式来告诉这个系统做的好还是不好。
86+
比如一个线上广告系统,可以看做是顾客在训练这个广告系统。
87+
这个系统给顾客投放一个广告,即可能的输出,而顾客有没有点或者有没有因为这个广告赚钱,
88+
这评定了这个广告投放的好坏。这就让该广告系统学习到怎么样去放更适合的广告。
89+
90+
# 输入空间
91+
92+
* 具体特征(concrete features)
93+
输入X的每一维特征都被人类进行的整理和分析,
94+
这种分析常常是与专业领域关联的
95+
* 原始特征(raw features)
96+
需要人或者机器进行转化,将原始特征转化成为具体的特征,
97+
在机器视觉和声音信号的辨识都是属于该类
98+
* 抽象特征(abstract features)
99+
100+
101+
# 机器学习的训练方式
102+
103+
104+
105+
+ 批量学习(batch learning)
106+
一次性批量输入给学习算法,可以被形象的称为填鸭式学习。
107+
+ 线上学习(online learning)
108+
按照顺序,循序的学习,不断的去修正模型,进行优化。
109+
+ 主动学习(active learning)
110+
可以被看做是机器有问问题的能力,
111+
指定输入x[n],询问其输出y[n].
112+
当label的获取成本非常昂贵时,会利用此法
113+
114+
115+
116+
# 算法分类
117+
118+
+ 有监督分类
119+
* 决策树
120+
* 信息增益
121+
* 分类回归树
122+
* 朴素贝叶斯
123+
线性判别分析
124+
125+
Fishre判别,特征向量求解
126+
K最邻近
127+
128+
相似度度量:欧氏距离、街区距离、编辑距离、向量夹角、Pearson相关系数
129+
逻辑斯谛回归(二值分类)
130+
参数估计(极大似然估计)、S型函数
131+
径向基函数网络
132+
133+
非参数估计、正则化理论、S型函数
134+
对偶传播网络
135+
136+
无导师的竞争学习、有导师的Widrow-Hoff学习
137+
学习向量量化网络
138+
139+
一个输出层细胞跟几个竞争层细胞相连
140+
误差反向传播网络
141+
142+
S型函数、梯度下降法
143+
支持向量机(二值分类)
144+
145+
二次规化,Lagrange乘数法,对偶问题,最优化,序列最小优化,核技巧
146+
单层感知器
147+
148+
只具有线性可分的能力
149+
双隐藏层感知器
150+
151+
足以解决任何复杂的分类问题
152+
+ 无监督分类
153+
KMeans
154+
155+
质心
156+
CHAMELONE
157+
158+
图划分,相对互连度,相对紧密度
159+
BIRCH
160+
161+
B树,CF三元组
162+
DBScan
163+
164+
核心点,密度可达
165+
EM算法(高斯混合模型)
166+
167+
参数估计(极大似然估计)
168+
谱聚类
169+
170+
图划分,奇异值求解 。全局收敛
171+
自组织映射网络
172+
无导师的竞争学习
173+
回归分析
174+
175+
一般线性回归
176+
177+
参数估计,最小二乘法,一般不用于分类而用于预测
178+
逻辑斯谛回归(二值分类)
179+
180+
参数估计(极大似然估计),S型函数
181+
关联规则挖掘
182+
183+
FP-Tree
184+
185+
频繁1项集,FP-Tree,条件模式基,后缀模式
186+
降维
187+
188+
主成分分析
189+
190+
协方差矩阵,奇异值分解
191+
推荐
192+
193+
协同过滤
194+
稀疏向量的相似度度量

0 commit comments

Comments
 (0)