-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex2.html
executable file
·349 lines (308 loc) · 18.8 KB
/
index2.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<title>Bridge Qiao's Blog</title>
<link rel="stylesheet" href="https://bridgeqiao.github.io/blog/theme/css/main.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body id="index" class="home">
<header id="banner" class="body">
<h1><a href="https://bridgeqiao.github.io/blog/">Bridge Qiao's Blog </a></h1>
<nav><ul>
<li><a href="https://bridgeqiao.github.io/blog/category/computer-vision.html">Computer vision</a></li>
<li><a href="https://bridgeqiao.github.io/blog/category/fun.html">fun</a></li>
<li><a href="https://bridgeqiao.github.io/blog/category/linux.html">linux</a></li>
<li><a href="https://bridgeqiao.github.io/blog/category/machine-learning.html">Machine Learning</a></li>
<li><a href="https://bridgeqiao.github.io/blog/category/matlab.html">Matlab</a></li>
<li><a href="https://bridgeqiao.github.io/blog/category/suan-fa-ti.html">算法题</a></li>
</ul>
</nav>
</header><!-- /#banner -->
<section id="content" class="body">
<ol id="posts-list" class="hfeed" start="9">
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-luo-ji-si-di-hui-gui-yu-zui-da-shang-mo-xing.html" rel="bookmark"
title="Permalink to 《统计学习方法》-逻辑斯蒂回归与最大熵模型">《统计学习方法》-逻辑斯蒂回归与最大熵模型</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>二 23 一月 2018</span>
</footer><!-- /.post-info --> <p>逻辑斯蒂回归是一个比较经典的分类方法,最大熵模型是按照最大熵准则来进行分类的算法,两个都属于对数线性模型。</p>
<h2>逻辑斯蒂回归</h2>
<p>在二分类中的模型:
</p>
<div class="math">$$
\begin{aligned}
P(Y=1|X)&=\frac{exp(\omega X+b)}{1+exp(\omega X+b)}\\
P(Y=0|X)&=\frac{1}{1+exp(\omega X+b)}
\end{aligned}
$$</div>
<p>
这里<span class="math">\(X\in \boldsymbol{R}^n\)</span>是输入,<span class="math">\(Y\in \{0,1\}\)</span>是输出,比较两个条件概率的大小,将实例x分到概率值大的那一类。这个公式对于求解问题不是很直观,将分类的概率变成对数几率或 …</p>
<a class="readmore" href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-luo-ji-si-di-hui-gui-yu-zui-da-shang-mo-xing.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-jue-ce-shu.html" rel="bookmark"
title="Permalink to 《统计学习方法》-决策树">《统计学习方法》-决策树</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>日 21 一月 2018</span>
</footer><!-- /.post-info --> <p>决策树是一个比较经典的分类与回归的方法,包括特征选择、决策树的生成和决策树的修剪。</p>
<h2>模型</h2>
<p>决策树的模型是一棵已经构造完成的决策树,由节点和有向边组成,其中节点分为内部节点和叶子节点,内部节点表示一个特征或属性,即划分的特征,叶子节点表示一个类。</p>
<blockquote>
<p>从根节点开始对实例中的某一个特征进行测试,比如西瓜的颜色,有花纹的分成一个类,放在一个子节点中,另一种放在另一个子节点中,如此递归的对实例进行测试,直至叶节点。</p>
</blockquote>
<h2>决策规则</h2>
<p>决策树可以看成if-then规则的集合,决策过程:每一条有向边对应一条规则,路径上内部节点的特征对应着规则的条件,而叶节点的类对应着规则的结论。</p>
<blockquote>
<p>路径或其对应的if-then规则集合具有一个重要的性质:互斥并且完备。</p>
</blockquote>
<p>从所有可能的决策树中选取最优的决策树是NP完全问题,所以现实中决策树学习算法采用启发式方法,近似求解这一优化问题,这样得到的决策树是次最优的。决策树算法通常是一个递归选择最优特征,并且用该特征对数据进行分割。</p>
<h2>算法</h2>
<h3>特征选择</h3>
<p>随机变量X的熵定义为:
</p>
<div class="math">$$
H(X)=-\sum_{i=1}^{n}p_i\log p_i
$$</div>
<p>
条件熵(conditional entropy)<span class="math">\(H(Y|X)\)</span>,定义为 …</p>
<a class="readmore" href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-jue-ce-shu.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-po-su-bei-xie-si.html" rel="bookmark"
title="Permalink to 《统计学习方法》-朴素贝叶斯">《统计学习方法》-朴素贝叶斯</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>六 20 一月 2018</span>
</footer><!-- /.post-info --> <p>朴素贝叶斯和knn一样,属于懒惰学习方法的一种,假设输入的特征间是独立的,根据先验概率来求最大化后验概率(MAP)。</p>
<h2>基本方法</h2>
<p>了解这个章节需要复习概率统计的知识,关于概率、条件概率、全概率、最大似然等。
</p>
<div class="math">$$
后验概率P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_k P(X=x|Y=c_k)P(Y=c_k)}
$$</div>
<p>
分母都是相同的,去掉分母,分类器变成了
</p>
<div class="math">$$
y=\arg \max_{c_k}P(Y=c_k)\prod_j P(X^{(j)}=x^{(j …</div>
<a class="readmore" href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-po-su-bei-xie-si.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-kjin-lin-fa.html" rel="bookmark"
title="Permalink to 统计学习方法-k近邻法">统计学习方法-k近邻法</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>五 19 一月 2018</span>
</footer><!-- /.post-info --> <p>k近邻算法不需要显示学习判别模型,属于懒惰学习的一种,这样要素变成了:k值的选取、距离度量和分类决策规则。</p>
<h2>K值选择</h2>
<p>k值决定了有多少个点参与决策,拿最简单的欧式距离(距离度量)来说,就是先选择一个固定的K值,然后比较带测试点与所有点的距离,然后将对应最小的k个距离的点选出来,选用投票法(分类决策)来决定带测试点的类别。</p>
<p>k值的选取与模型有很大的关系,小了容易发生过拟合,大了可以减小学习的估计误差,但会增大近似误差。一般是取一个比较小的数值,然后采用交叉验证的方法来选取最优的k值(书上原话)。</p>
<h2>距离度量</h2>
<p>这里需要数学上的概念:范数,P范数定义是这样的:
</p>
<div class="math">$$
P范数:L_p(x_i,x_j)=(\sum_{l=1}^n \vert x_i^{(l)}-x_j^{(l)}\vert^p)^{\frac{1}{p}},p\geqslant 1
$$</div>
<blockquote>
<p>当然,是存在0范数的 …</p></blockquote>
<a class="readmore" href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-kjin-lin-fa.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/wei-xin-tiao-yi-tiao.html" rel="bookmark"
title="Permalink to 微信跳一跳">微信跳一跳</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>二 16 一月 2018</span>
</footer><!-- /.post-info --> <p>之前完微信跳一跳最高才60多。。。然后里面都是三位数起步的,遂刷了个分。。下面是安装记录:</p>
<ol>
<li>插上手机,弹出usb调试,点击确定;</li>
<li>下载adb,我是直接用的刷机精灵,它自带了adb,加到环境变量path里就好了,就是安装目录里有adb.bat的那个,发现下载的外挂里面自带了adb(Tools),但貌似运行不起来。。。</li>
<li>下载<a href="https://github.com/wangshub/wechat_jump_game">python外挂</a>。。。git clone或者下载zip包都行;</li>
<li>运行wechat_jump_auto.py文件,后面是*_py3.py的得自己点,需要matplotlib包,pip安装就行;</li>
<li>在显示的图片上先点击自己的中心点,再点击要跳的中心点,然后一直重复。。。刷到了233...,当然auto的是直接自动的了。</li>
</ol>
<a class="readmore" href="https://bridgeqiao.github.io/blog/wei-xin-tiao-yi-tiao.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-gai-lun.html" rel="bookmark"
title="Permalink to 《统计学习方法》-概论">《统计学习方法》-概论</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>一 15 一月 2018</span>
</footer><!-- /.post-info --> <p>看完周志华老师的《机器学习》,对机器学习有了一个全面的了解,但其细节部分不是很了解,遂找同学借了本《统计学习方法》(感谢亲爱的波),感觉对机器学习的概念部分讲的很好,这里留作记录。</p>
<p>概论部分讲了统计学习方法的组成、机器学习的分类及要素,还有一些评估方法。</p>
<h2>1. 统计学习背景</h2>
<p>统计学习是由一些数学组成:概率统计、信息论、优化理论,所以想要深入的了解的化,本科学的统计、高数的前几章得熟悉,然后线性代数得着重看下,对了解并行处理有很大的帮助,有需要的还可以看下凸优化相关的东西,对优化部分会有更深刻的理解。</p>
<p>统计学习的对象是<code>数据</code>,包括数字、文字、图片、视频、音频等,这里有个前提:这些同类数据具有一定的统计规律性。目标是对数据进行预测与分析。</p>
<h2>2. 三要素</h2>
<p><span class="math">\(方法=模型+策略+算法\)</span>。</p>
<h3>模型:</h3>
<p>我对模型的理解是:找到一个映射关系(函数),使得输入和输出的对应关系最大化,也就是一些统计特性更好。</p>
<p>书本上对模型的理解是在假设空间中找到最优的模型,怎么理解?书后面给了解释 …</p>
<a class="readmore" href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-gai-lun.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-gan-zhi-ji.html" rel="bookmark"
title="Permalink to 《统计学习方法》-感知机">《统计学习方法》-感知机</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>一 15 一月 2018</span>
</footer><!-- /.post-info --> <h2>模型</h2>
<p>感知机的目标是找到一个可以将正负实例完全分开的分离超平面<span class="math">\(\omega X+b=0\)</span>,模型的形式显而易见,为:
</p>
<div class="math">$$
f(x)=sign(\omega X+b)\\
其中sign(x)=\left\{\begin{matrix}
+1, & x\geqslant 0\\
-1, & x<0
\end{matrix}\right.
$$</div>
<p>当在平面的上面时,划分成一类,下面一类。</p>
<h2>策略</h2>
<p>感知机的目标是找到一个可以将正负实例完全分开的分离超平面,需要定义一个策略,即定义(经验)损失函数并将损失函数最小化。</p>
<p>损失函数一个自然选择是误分类点的总数,另一个是误分类点到超平面S的总距离,是参数<span class="math">\(\omega,b\)</span>的连续可导函数,有利于优化。</p>
<div class="math">$$
误分类点到S的总距离L=-\frac{1}{\left \| \omega …</div>
<a class="readmore" href="https://bridgeqiao.github.io/blog/tong-ji-xue-xi-fang-fa-gan-zhi-ji.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/shi-yong-hexo-githubda-jian-blog.html" rel="bookmark"
title="Permalink to 使用hexo + github搭建blog">使用hexo + github搭建blog</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>日 14 一月 2018</span>
</footer><!-- /.post-info --> <p>最近使用jekyll烦了,经常出现博客编译出问题,打算试下hexo,结果很不错,所以直接换成了hexo,这里写个blog留作记录。</p>
<h4>1. 安装环境</h4>
<p>hexo是本地先编译成功后,再上传到github上,和jekyll不一样(github内部支持)。</p>
<p>这里只介绍linux环境,在windows直接下载软件包安装就行。</p>
<p>安装<code>nodejs</code>, <code>hexo</code>:</p>
<div class="highlight"><pre><span></span>sudo apt install nodejs-legacy
sudo npm install hexo -g
<span class="c1"># 配置git方式部署</span>
sudo npm install hexo-deployer-git --save
</pre></div>
<p>这里可以考虑使用<a href="https://lug.ustc.edu.cn/wiki/mirrors/help/npm">USTC</a>加速下载软件包:</p>
<!--more-->
<div class="highlight"><pre><span></span><span class="c1"># 编辑 ~/.npmrc</span>
<span class="nv">registry</span><span class="o">=</span>http://npmreg.mirrors.ustc.edu.cn/
</pre></div>
<h4>2. 配置环境</h4>
<p>在github上新建项目,xxx.github.io或者blog …</p>
<a class="readmore" href="https://bridgeqiao.github.io/blog/shi-yong-hexo-githubda-jian-blog.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/zai-winxia-an-zhuang-cygwin.html" rel="bookmark"
title="Permalink to 在win下安装cygwin">在win下安装cygwin</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>日 14 一月 2018</span>
</footer><!-- /.post-info --> <ol>
<li>
<p>从<a href="https://www.cygwin.com">官网</a>下载setup_x86_64.exe,<strong>注意这是64位的</strong>,大小在1M左右,安装到硬盘,选择网络安装,镜像网站可以选用<a href="http://mirrors.ustc.edu.cn/cygwin/">USTC</a>或者<a href="http://mirrors.163.com/cygwin/">163</a>;</p>
</li>
<li>
<p>下载<a href="https://github.com/transcode-open/apt-cyg">apt-cyg</a>,将该文件放到安装目录下的bin目录;</p>
</li>
<li>
<p><code>bash
# 换源
apt-cyg update -m http://mirrors.ustc.edu.cn/cygwin/x86_64/</code></p>
</li>
<li>
<p>现在可以用apt-cyg安装软件了,使用方式类似apt</p>
</li>
<li>
<p>可以安装常用的软件:gcc/g++/make</p>
</li>
</ol>
<a class="readmore" href="https://bridgeqiao.github.io/blog/zai-winxia-an-zhuang-cygwin.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
<li><article class="hentry">
<header>
<h1><a href="https://bridgeqiao.github.io/blog/zai-ubuntu1604xia-an-zhuang-matlab2017a.html" rel="bookmark"
title="Permalink to 在ubuntu16.04下安装Matlab2017a">在ubuntu16.04下安装Matlab2017a</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<span>五 29 九月 2017</span>
</footer><!-- /.post-info --> <ol>
<li>
<p>从<a href="ftp://116.13.96.74/">szu内部ftp</a>下在MATLAB;</p>
</li>
<li>
<p>安装matlab,首先给MATLAB的install和 <code>bin/glnxa64</code> 加权限</p>
</li>
</ol>
<div class="highlight"><pre><span></span>chmod -R <span class="m">777</span> install
chmod -R <span class="m">777</span> bin/glnxa64
</pre></div>
<ol>
<li>
<p>需要jre环境,如果没配置,需要先安装 <code>openjdk-8-jdk</code></p>
</li>
<li>
<p>运行install开始安装,如果没出现安装界面,选择指定jre目录, <code>-javadir /usr/lib/jvm/java-8-openjdk-amd64/jre/</code></p>
</li>
<li>
<p>用硬件opengl, 打开MATLAB后,在控制台里输入</p>
</li>
</ol>
<div class="highlight"><pre><span></span>opengl<span class="o">(</span><span class="s1">'save'</span>,<span class="s1">'hardware'</span><span class="o">)</span>
</pre></div>
<a class="readmore" href="https://bridgeqiao.github.io/blog/zai-ubuntu1604xia-an-zhuang-matlab2017a.html">read more</a>
</div><!-- /.entry-content -->
</article></li>
</ol><!-- /#posts-list -->
<p class="paginator">
<a href="https://bridgeqiao.github.io/blog/index.html">«</a>
Page 2 / 3
<a href="https://bridgeqiao.github.io/blog/index3.html">»</a>
</p>
</section><!-- /#content -->
<section id="extras" class="body">
<div class="blogroll">
<h2>blogroll</h2>
<ul>
<li><a href="http://getpelican.com/">Pelican</a></li>
<li><a href="http://python.org/">Python.org</a></li>
<li><a href="https://github.com">Github</a></li>
</ul>
</div><!-- /.blogroll -->
</section><!-- /#extras -->
<footer id="contentinfo" class="body">
<p>Powered by <a href="http://getpelican.com/">Pelican</a>. Theme <a href="https://github.com/blueicefield/pelican-blueidea/">blueidea</a>, inspired by the default theme.</p>
</footer><!-- /#contentinfo -->
</body>
</html>