- 博客(131)
- 资源 (13)
- 收藏
- 关注
原创 统计学习方法7-SVM详细推导
文章目录SVM1. 定义1.1 函数间隔和几何间隔1.2 间隔最大化2. 线性可分SVM2.1 对偶问题2.2 序列最小最优算法(SMO)2.2.1 坐标下降法2.2.2 SMO求解方法2.2.2.1 求解等式约束2.2.2.2 不等式约束修剪2.2.2.3 变量的选择方法3. 线性不可分SVM3.1 松弛变量3.2 求解对偶问题3.3 支持向量求解参数$w,b$4. 非线性SVM5. Refer...
2019-08-12 10:22:13 458
原创 拉格朗日对偶性(Lagrange duality)
文章目录拉格朗日对偶性(Lagrange duality)1. 从原始问题到对偶问题2. 弱对偶与强对偶3. KKT条件Reference:拉格朗日对偶性(Lagrange duality)1. 从原始问题到对偶问题 对偶性是优化理论中一个重要的部分,带约束的优化问题是机器学习中经常遇到的问题,这类问题都可以用如下形式表达min  &ThickSpace...
2019-08-05 16:24:11 487
原创 熵、交叉熵及似然函数的关系
文章目录熵、交叉熵及似然函数的关系1. 熵1.1 信息量1.3 熵2. 最大熵中的极大似然函数2.1 指数型似然函数推导2.2 最大熵中的似然函数推导3. 交叉熵与极大似然3.1 联系3.2 交叉熵损失函数熵、交叉熵及似然函数的关系1. 熵1.1 信息量 信息量:最初的定义是信号取值数量m的对数为信息量III,即 I=log2mI=log_2mI=log2m。这是与比特数相关的,比如一...
2019-07-31 16:14:48 624
原创 统计学习方法11—条件随机场
为了不学迷糊,条件随机场这儿应该理一理它与其他概率图模型的关系和区别。上一文讲的隐马尔可夫模型(HMM)是经典的有向图模型,同时也是一个生成模型,通过对P(Y,X)P(Y,X)P(Y,X)建模得到。HMM有两个重要假设,通过上文的推导过程也能体会到,这两个假设大大简化了计算过程。但是实际应用中,这两个假设往往不是很合理,后面出现了 最大熵马尔可夫模型(MEMM),它消除观测独立的假设,本文要讲...
2019-07-19 23:29:17 392
原创 统计学习方法10—隐马尔可夫模型详细推导
隐马尔可夫模型(HMM)是一种标注模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。其在语音识别,自然语言处理,模式识别等领域有着广泛的应用。1.基本概念 友好起见,我们以例子来导出马尔可夫的定义盒子与球模型 设有4个盒子,每个盒子里装有红白两种颜色的球。该模型抽取过程定义如下:先等概率选择一个盒子,从中抽取一次得到一个观测结果,然后换盒子,并且换盒子的过程中服从...
2019-07-12 20:48:39 530
原创 统计学习方法9—EM算法
EM算法是一种迭代算法,是一种用于计算包含隐变量概率模型的最大似然估计方法,或极大后验概率。EM即expectation maximization,期望最大化算法。1. 极大似然估计 在概率模型中,若已知事件服从的分布或者其他概率模型的参数,那么我们可以通过计算得到某事件发生的概率。而在估计中,这些变成了方向过程:已知一组数据发生的结果,相当于获得了经验概率,通过这组数据假设模型服从什么...
2019-07-09 20:58:19 375
转载 Jupyter Notebook 的快捷键
Jupyter Notebook 的快捷键Jupyter Notebook 有两种键盘输入模式。编辑模式,允许你往单元中键入代码或文本;这时的单元框线是绿色的。命令模式,键盘输入运行程序命令;这时的单元框线是灰色。命令模式 (按键 Esc 开启)Enter : 转入编辑模式Shift-Enter : 运行本单元,选中下个单元Ctrl-Enter : 运行本单元Alt-Enter :...
2019-07-28 12:40:35 154
原创 windows下pip install pydensecrf出错 ERROR: Failed building wheel for pydensecrf
弄了大半天,问题挺玄学的,可以先检查是否安装cython(pip install cython)。然而我的安装了cython还是存在问题。报错如下: ERROR: Complete output from command 'd:\anaconda\envs\tensorflow\python.exe' -u -c 'import setuptools, tokenize;__file__='"...
2019-05-27 22:55:55 4405
转载 c/c++头文件
C/C++头文件一览C#include <assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <iso646.h> //对应各种运...
2019-04-01 15:39:47 227
原创 提取电容元件
// CV_IP.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include <stdio.h>using n...
2019-02-18 02:21:51 254
原创 opencv dft例程
// CV_IP.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <opencv.hpp>#include <iostream>using namespace std;using namespace cv;//imshow("1", src);////int main()//{// //扩大图像...
2019-02-17 22:15:52 297
原创 改变图像亮度和对比度
改变图像的对比度和亮度#include "stdafx.h"#include &lt;opencv.hpp&gt;#include &lt;iostream&gt;using namespace std;using namespace cv;//全局变量int g_nContrast;int g_nBright;Mat src = imread("C:\\Users\\i
2019-01-28 11:56:24 254
原创 PAT B1010
1010 一元多项式求导 (25 分设计函数求一元多项式的导数。(注:xn (n为整数)的一阶导数为nxn−1 。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 ...
2019-01-02 23:39:44 349
原创 素数:PAT B1007
定义质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数)。大于1的自然数若不是素数,则称之为合数(也称为合成数)。例如,5是个素数,因为其正约数只有1与5。而6则是个合数,因为除了1与6外,2与3也是其正约数。算术基本定理确立了素数于数论里的核心地位:任何大于1的整数均可被表示成一串唯一素数...
2019-01-01 23:59:29 289
原创 创建简单播放器滚动条
#include "stdafx.h"#include <opencv.hpp>using namespace cv;int g_slider = 0;CvCapture* g_capture = NULL;void onTrack(int pos) { cvSetCaptureProperty(g_capture, CV_CAP_PROP_POS_FRAMES, po...
2018-12-29 15:38:12 242 1
原创 PAT B1003 (map)
PAT B1003“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1.字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;2.任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符...
2018-12-29 15:31:21 166 1
转载 根的存在性证明
在高等数学中经常会出现一类题:即证明根的存在性。今天就来借两道经典的母题来对此类题目的证明做个总结。一、此类题目的两种思路证明连续函数f(x)在区间[a,b]上根的存在性,最常用的思路有两种:1、利用零点定理。也就是说只要证明f(x)在[a,b]存在两点c<d(可能有c=a,b=d,但也可能没有),且f(c)*f(d)<0即可,那么f(x)在[c,d]上必存在零根。2、利用罗尔定理。首...
2018-03-27 20:15:50 12454
转载 DP动态规划初步
专题:动态规划(DP)初步内容来源:《挑战程序设计竞赛》(第2版)+《算法竞赛入门经典》(第2版)+网上资料整理汇总一、引入 动态规划程序设计是对解最优化问题的一种途径、一种方法,而不是一种特殊算法。不像前面所述的那些搜索或数值计算那样,具有一个标准的数学表达式和明确清晰的解题方法。动态规划程序设计往往是针对一种最优化问题,由于各种问题的性质不同,确定最优解的条件也互不相同,因而动态...
2018-03-21 11:52:32 258
转载 位图用法
题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26999题意:给定一个正整数n,求的值,输入数据有10000组,每组一个数n,1<=n<=10^8。分析:定义为1,2,3,...,n的最小公倍数。则可以发现有如下结论:所以有:那么,我们先把所有素数的连乘预处理出来,然后再对每一个素数的整数次幂根据n的不同进...
2018-03-19 09:01:13 233
原创 数据结构-各类树
#include #include #include typedef struct red_black_tree_type *tree;enum color_enum{ color_red, color_black};struct tree_node{ void*key;enum color_enum color;struct tree_node *par
2017-12-30 18:42:08 229
原创 栈和队列(C链表实现)
栈和队列是两种很有用的数据结构,栈是先进后出(FILO),队列是先进先出(FIFO)。 在迷宫求解,括号匹配,递归这些问题里,栈的应用非常广泛,而队列在操作系统的进程排队,线程池里很有用。C中没有现成的栈和队列,这里用链表来模拟一下。设计时分别用到两个结构体,将链表节点部分和控制作用的表头分开,方便管理。 在栈的设计中,使用表头指向栈的top ,每次入栈只需将新节点指向表头,表头再指
2017-12-27 14:53:50 1192
原创 Joseph问题
题目描述: 原始的Joseph问题描述如下:有n个人围坐在一个圆桌周围,把这n个人依次编号为1、2、3……n。从编号是1的人开始数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m个人时又出列,以此类推。当n=6,m=5时,出列顺序依次是5,4,6,2,3,1。 现在的问题是:假设有k个好人和k个坏人。好人的编号是1到k,坏人的编号是k+1到2k。我们希望求出m的最小值,使得先出列的
2017-12-26 21:47:19 2657 2
原创 链表基本操作
链表就是C中利用结构体,将数据和下一个结构体的地址封装在一个结构体中形成一个节点,这些节点组合起来就是一个基础的链表,根据需要可以扩展其中的内容来实现不同的需求。 实现一个链表需要定义节点,创建,初始化,插入,删除这些基本操作。 #include "stdafx.h"#include "stdlib.h"#include "malloc.h"#define OK 0#define
2017-12-25 18:18:31 230
转载 OpenCV3.3+VS2013 环境配置
操作环境: Windows7_x64 + Visual Studio 2013 (亲测Win10系统和VS2015也是可以的)编译配置工具: CMake(利用CMake对OpenCV源码进行编译生成VS的64位解决方案)第一步:下载并安装CMake 直
2017-12-14 22:52:12 6130 4
转载 nginx流媒体服务器搭建
开发环境Ubuntu 14.04 servernginx-1.8.1nginx-rtmp-modulenginx的服务器的搭建安装nginx的依赖库sudo apt-get updatesudo apt-get install libpcre3 libpcre3-devsudo apt-get install openssl libssl-dev123配
2017-12-05 16:20:52 349
转载 ffmpeg安装
一、windows安装:直接下载地址:https://ffmpeg.zeranoe.com/builds/https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20160316-git-d0a9114-win64-static.7z解压后即可使用:ffmpeg -i C:\ffmpeg\test.av
2017-12-05 15:41:54 259
原创 U-Boot 1.1.6 移植到2440 (一)
http://home.eeworld.com.cn/my/space.php?uid=135723&do=blog&id=25347u-boot 下载 U-boot 镜像 ,下载 1.1.6 版本的,这是比较早的版本,选择它主要是为了学习用。 u-boot中已经有对2410的支持了,我的板子是TQ2440 ,只需要在smdk2410的基础上改就可以了。 这是u-boot的大致目录,先精简一下,删
2017-12-04 19:59:52 675
原创 U-Boot移植到s3c2440
http://home.eeworld.com.cn/my/space.php?uid=135723&do=blog&id=25347
2017-12-01 14:39:01 194
原创 shell 基础
管道shell 中一个命令的输出交给另一个命令处理,它们之间联系就是通过管道传输的,方法很简单,就是在它们之间加一个 “|” 即可。isstack@isstack-virtual-machine:~$ ps aux | grep httpdisstack 3489 0.0 0.0 13620 940 pts/1 S+ 15:58 0:00 grep --color=a
2017-11-29 16:46:11 176
原创 数组名与指针
数组名和指针的概念很容易搞混淆,比如函数传参的时候,数组名作为形参,但是进去用的时候却和指针用法一摸一样,但是sizeof(数组名)大小却不等于指针的大小(数组size不为1)。并且数组名不能用 自加运算符,说明他应该是一个“常量”。直接通过反汇编来看看数组具体是怎么定义的吧:#include <stdio.h>#include <string.h>int a[3] = {1,2,3};int m
2017-11-26 22:39:55 229
转载 ARM GUN汇编标准
汇编源程序一般用于系统最基本的初始化:初始化堆栈指针、设置页表、操作 ARM的协处理器等。这些初始化工作完成后就可以跳转到C代码main函数中执行。首先得明白,汇编标准和ARM的汇编指令是分开的,因为通常开发是用的GUN的GCC,所以我们见到的标准就是GUN标准,譬如.globl 、.section ,这些ARM里面是没有规定的, 这是GUN编译器约定的风格。1、 GNU汇编语言语句格
2017-11-18 18:31:19 2105
转载 Uboot源码分析移植
本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:1、u-boot工程的总体结构2、u- boot的流程、主要的数据结构、内存分配。3、u-boot的重要细节,主要分析流程中各函数的功能。4、基于FS2410板子的u- boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 这些认识源于自己移植u-boot过程中查找的资料和对源码的 简单阅
2017-11-14 15:09:24 309
原创 ADS安装破解
ADS安装包网上很多,但是安装后容易弹出错误信息,这是没激活的缘故。先将下面内容保存为license.dat 文件:PACKAGE ads armlmd 1.200 E32F0DE5161D COMPONENTS="armasm compiler \bats armulate axd adwu fromelf armlink codewarrior armsd"INCREMENT
2017-11-05 13:45:03 4729
原创 ARM协处理器指令
ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器和协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和存储器之间传送数据。 ARM 协处理器指令包括以下 5
2017-11-01 14:38:29 907
转载 QEMU搭建arm linux环境
为什么会有这篇文章早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正处于整个Linux开发中间层,没有上层的C/C++业务和数据库的开发经验,也没有底层的内核和驱动开发经验,到底路该如何走……基于对Linux系统开发的理解和内核的兴趣,认为选择Linux内核开发更适合自己。于是到淘宝上买了块三星s3c2440(arm 9)开发板,学起内核开发。没有过多久,机缘巧合,正式加
2017-10-27 10:40:44 470 1
原创 向量基础
先解释下向量空间的概念: 一般向量空间用Rn来表示,比如R2就代表二维空间R^n 来表示,比如R^2就代表二维空间,也就是我们常见的平面直角坐标系那样的,R3代表三维空间,加个Z轴就行了,但是R4就不好直观的绘图了R ^3 代表三维空间,加个Z轴就行了,但是R^4就不好直观的绘图了,不过在纯数学上是可以表示的。 矩阵中,可以用[ab]\begin {bmatrix} a \\ b\en
2017-10-25 20:32:54 901
原创 矩阵基础(二)
上一篇中说到了矩阵的逆,矩阵逆的性质和普通代数中倒数的性质有些类似,比如在求解ax = b ,这个方程的时候,很显然右边乘上a 的倒数便得到了x 的值,那么在求解多元方程的时候,我们也可以用矩阵来求解: [3−121][xy]=[71]\begin {bmatrix} 3&2\\ -1&1\end{bmatrix} \begin {bmatrix} x\\y\end{bm
2017-10-24 23:25:45 296
原创 ARM裸机串口
硬件还是tiny6410 , s3c6410, 手册上得知这款芯片有4个UART端口,可以通过中断或者DMA进行传输,速率可达3Mbps,每个UART通道有2个64字节的FIFO分别用于接受和发送。 这是它的结构图: UART的使用挺简单的,和cortex-M的32差不多,先配置引脚复用为串口模式,然后设置UART的数据位,格式等,最后设置波特率。 这里配置串口0 吧,先看电路图: 串口0
2017-10-23 21:12:35 398
原创 FFT快速傅里叶变换
看了好久终于弄懂FFT了,记录下来,免得忘了。 FFT需要的基础有矩阵乘法和逆,这里写了,欧拉公式,单位复数根,其实FFT主要的还是理解多项式的点值表达,然后用单位复数根的性质实现蝶形运算就神奇的把计算的复杂度降到O(nlogn)了。点值表达 多项式的点值表达,就是有一个多项式,将它看作一个函数,然后在x 轴上找n个x,代入就能得到n 个点。 比如有一个多项式: A
2017-10-23 00:51:46 892
原创 雷德倒序位算法
这个倒序算法主要用到在FFT中,在排序开始时做的奇偶分离用,方便蝶形运算。比如8点FFT结合时的顺序是0,4,2,6,1,5,3,7 ,换成: 0,2,4,6 1,3,5,7 就看出是分成奇偶后分别的前面一半和后面一半的首位结合,其实这就是二进制的倒序加形成的,最开始 000 ,高位加1 得到100,高位再加1就进位了,不过是向低位进位,010. 所以这个算法的思想就是从高位往低位进位
2017-10-22 17:04:59 1225
PL2303驱动
2017-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人