马尔可夫模型到条件随机场,再结合深度学习
先了解了一下生成模型与判别模型
隐马尔可夫模型
隐马尔可夫模型(HMM)属于生成模型。
组成:两个集合,两个序列,两个矩阵。
这些内容构成了隐马尔可夫模型的整体概念,具体问题中,有的是已知的,有的是未知的,这个模型就是通过已知量建模,进而推算未知量。
一般来说,监督学习可以看作最小化一个目标函数,即Loss Function加一个约束项: \[ w^{*} = \mathop{\arg\min}_{w}\sum_{i}L(y_{i}, f(x_{i}; w)) + \lambda\Omega(w) \]
约束项 \(\Omega(w)\) 通常是模型参数向量的范数的规则化项,比如稀疏表示基础知识中的零范数,用来约束字典权值的稀疏性。
L0范数指向量中非0的元素个数,
知乎上一个解释很有让人增加对0范数的感性认知的效果
>几何意义不考虑,单从分析角度。总而言之都是P范数,零范数即是当p趋于零,可以证明这时候的极限
\((x_{1}^{p}+x_{2}^{p}+...+x_{n}^{p})^{\frac{1}{p}}\)
恰好是向量 \(x=(x_{1},x_{2},...,x_{n})^{T}\)
非零元素的个数。而无穷范数则是当p趋于无穷的时候的范数。关于这些极限的证明,数学分析的开篇就介绍了,我想这也是为什么当初学习数学分析的时候为什么老是有各种奇形怪状的极限要证明存在性的原因之一。但严格来说,零范数并不满足数乘率(
\(|\alpha x|\neq |\alpha||x|\)
)。之所以最近被多次提到,也是因为压缩感知的火热。
https://www.zhihu.com/question/20473040/answer/121760029
初学入门,将来有了更深的理解回来纠正错误。
MathJax需要加载,公式如未显示请稍候。
最初稀疏性产生于信号处理领域,自然界信号低频居多,高频主要是噪声,图像处理中的频率域滤波是个典型例子。
假设有一个干净没有噪声的图像,经过传输,收到的是一个受到干扰有了噪声的图像,而噪声主要是高频分量,对图片做二维傅里叶变换,对低频的波形保持,高频的一刀切,还原回来的图像就平滑了许多,大部分高频噪声就去除了。这个假设的场景就是个“信号恢复”的过程。如果把所有的频率的波都看作一个个相互正交的向量,恢复数据就是给这些向量找到一组系数,它们一乘、一合并,得到原始信号,频率从大到小是有无穷多个的,而由于自然界信号的“稀疏性”,对于图像而言,就是指有用的频率主要是低频,那么对应高频的系数基本都是0了,低频部分也不见得全是非0,这一系列系数0很多,非0很少,就很“稀疏”。
花了一个多星期给CSUACM做了个新网站。
本来只是想在学校OJ刷刷题,然而觉得各种丑,之前也一直因为代码不是自己的,想调整内容、增减功能总是不那么得心应手,这次也算心血来潮做个新的UI,做着做着就干脆把官网和报名网站也整合了。
这几天太累了也不想打太多字了,做篇日志留念。也许什么时候有空了再写个新的Judge端吧。
多年过去了,发现自己对中南ACM队伍还是深爱着。。。
20170209
虽然好几年来一直是CSU-OJ的super admin,但是退役后就没怎么管OJ了,都是每年的在役队员在加题。不同人对学校OJ的理解不同,有的当对外交流的窗口,有的只是当一个内部的训练工具,导致部分题目残缺、题号不连续等许多问题。多年不做题也怕手生了挺可惜的,打算业余时间偶尔刷几题,把OJ题目重新整理下,调调字体,补补图之类的,顺便做个完整题解。不知道能不能坚持下去,先挖坑吧。
一开始打算用OpenCV的SVM,不过好像有些bug,训练有问题,保存model之后load()也有问题,于是用LibSVM了。
LibSVM提供了Python的接口,去官网下载他们的包,解压后有Python文件夹,把这个Python文件夹路径加入到环境变量(可能要新建)PYTHONPATH中。
首先耦合性最低的方式是在代码中加入搜索目录,绝对路径相对路径都可以。这种方式在PyCharm中,引入外部路径的那行会有红色波浪线提示语法问题,不过能正常运行。
目前Python多线程不能利用CPU多核优势,IO密集型可用多线程,CPU密集型适合用多进程。