模式识别一
1. 模式识别系统的构成其中:
分类器设计,为了把待识别模式分配到各自的模式类中去,必须设计出一套分类判别规则。基本做法是:用一定数量的样本(称为训练样本集)确定出一套分类判别规则,使得按照这套分类判别规则对待模式识别进行分类所造成的错误识别率最小或引起的损失最小。这就是分类器设计的过程。
分类决策,分类器按照已确定的分类判别规则对待识别模式进行分类判别,输出分类结果,这就是分类器的使用过程,也称为分类决策。
2. 识别方法一般来说,描述模式有两种方法:定量描述和结构性描述,定量描述就是用一组数据来描述模式,结构性描述就是用一组基元来描述模式。对应于两种描述方法有两种基本的模式识别方法:
统计模式识别:在统计模式识别中,被研究的模式用特征向量来描述,特征向量中的每一个元素代表模式中的一个特征或属性,特征向量构成的空间叫特征空间。如果我们用某种方法来分割特征空间,使得同一类模式大体上都在特征空间的同一区域,那么对于待分类的模式,就可以根据它的特征向量在特征空间中哪一个区域来判定它属于哪一类模式。研究统计模式识别方法的任务就是用不同的方法划分特征空间,从而达到识别的目的。
结构模式 ...
机器学习一
1. 简介学习此书[1]时的一些记录
2. 如何选择合适的算法考虑使用机器学习算法的目的, 如果想要预测目标变量的值,则可以选择监督学习算法,否则可以选择无监督学习算法。确定选择监督学习算法后,进一步确定目标变量类型,如果目标变量是离散型,如是/否、1/2/3、A/B/C等,则可以选择分类算法;如果目标变量是连续型的数值,如0.0100.00、-999999或者+∞~-∞等,则需要选择回归算法, 如果不想预测目标变量的值,则可以选择无监督算法,进一步分析是否需要将数据划分为离散的组。如果这是唯一的要求,则使用聚类算法,如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。
3. 开发机器学习程序的应用步骤
收集数据
准备数据
分析数据
训练算法
测试算法
使用算法
4. kNN算法4.1 k-近邻算法的原理存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征 ...
Linux琐记二
1. dd命令win8.1下镜像直接点击setup.exe无效…系统要求都符合,只是我这是双系统且是BIOS引导,也不是UEFI想想要不制作个系统盘,Win32DiskImager制作后还是不行,转到Ubuntu使用dd if=en_windows_10_multiple_editions_x64_dvd_6846432.iso of=/dev/sdb bs=2Mbs=2M情况下最后平均写入速度为7M/s
虽然最终还是失败了、、、
2. 格式化u盘U盘写入到一半时被我中止了,结果就是U盘变成了只读状态,挂载后也无法操作…于是mkfs.vfat -I /dev/sdb或者mkfs -t vfat /dev/sdb -I
3. Shadowsockspip install shadowsocks
sslocal -c conf.json
conf.json自己编写,格式如下:
{
"server":"my_server_ip",
"server_port":*****,
"local_port":1080,
"passwor ...
Windows 琐记一
1. Word中字体大小与磅值对应关系字号”八号”对应磅值5字号”七号”对应磅值5.5字号”小六”对应磅值6.5字号”六号”对应磅值7.5字号”小五”对应磅值9字号”五号”对应磅值10.5字号”小四”对应磅值12字号”四号”对应磅值14字号”小三”对应磅值15字号”三号”对应磅值16字号”小二”对应磅值18字号”二号”对应磅值22字号”小一”对应磅值24字号”一号”对应磅值26字号”小初”对应磅值36字号”初号”对应磅值42
2. 比较文件命令本想用windows自带的fc命令,却发现只可以比较两文件无法比较文件夹,于是加上自己用的cmder自带很多linux命令(其实应该是msysgit带的),于是考虑使用diff命令, 用-r选项即可diff -r 'E:\Amusement\music\' 'F:\Recreation\Music\'
3. markdown文件中加入html代码例如加上<p align="center">Test</p>,则必须在后面加一空行,否则不会输出理想结果,原因暂时未知。
4. ...
前端相关
1. 响应式网页图标http://www.gbtags.com/gb/share/2774.htmhttp://fortawesome.github.io/Font-Awesome/
2. html编码Ascii编码见这里Unicode编码太多, 可网上找工具转换例如”你好”可以Unicode编码为\u4f60\u597d
Shadowsocks 高级教程
1. HTTP代理在网上看到建立shadowsocks之后会自动建立一个http的代理,使用8123端口,知道这一点就可以使用http代理而不仅只是socks5了
2. Shadowsocks服务端配置曾在DigitalOcean上自建了一个Shadowsocks服务端,虽然后来被封了,但幸而在电脑上记录下一下重点,Shadowsocks服务端的配置文件为:
#ipv4
{
"server":"0.0.0.0",
"server_port":443, #经尝试,443端口比其他端口要快一点
"local_port":1080,
"password":"******",
"timeout":600,
"method":"aes-256-cfb"
}
#ipv6
{
"server":"::",
"server_port":443,
"local_port":1080,
"password":"******",
"timeout":600,
"method ...
Python 琐记二
1. zip函数zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
print xyz
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
2. 写入wav fileshttp://stackoverflow.com/questions/3637350/how-to-write-stereo-wav-files-in-python
3. 矩阵转置可以用1中的zip函数 zip(*x)一维数组的转置还可以
M=10
k = np.array(range(M))
k = np.matrix(k).T
4. 复数表示
虚数i用j表示,且虚数系数是1时要在j前加上1,如 1+1jmath.exp(1+2j)会报错,can’t convert complex to float应使用cmath.exp(1+2j) 或者 (math.e) ** (1+2j)
5. 复数取模自以为是math.abs 或者 cmath.abs结果 ...
傅里叶变换窗函数
原理用窗函数分析信号,相当于将一个待分析信号x1通过一个传输函数为窗函数傅里叶变换的滤波器得到输出信号或分析信号y1
http://www.cnblogs.com/gaozehua/p/3516556.htmlhttp://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/s2010/gjm76_asr96/gjm76_asr96/
三字符构成字符串
1. 描述仅由三个字符A、B、C构成字符串,且字符串任意相邻三个元素不能完全相同。如“ACCCAB”不合法,“ABBCBCA”合法。求满足条件的长度为n的字符串个数。假定不考虑整数溢出,要求时间和空间复杂度不高于O(N)。
2. Hints
1、考虑使用动态规划,将长度为N的字符串个数表示成长度为N-1的字符串个数的递归关系;
2、使用滚动数组降低空间复杂度;
3、矩阵乘幂降低时间复杂度。
3. Solution若当前已经有长度为n-1的合法字符串,则在末端增加一个字符,形成长度为n的字符串,n-1的字符串可分为“末端两字符相等”和“末端两字符不等”,分别记为\(dp[n-1][0]\)和\(dp[n-1][1]\),长度为n的字符串都可以这样划分,于是:$$\begin{cases}dp[n][0] = dp[n-1][0]*2 + dp[n-1][1]*2 \\dp[n][1] = dp[n-1][0]\end{cases}$$其初始条件为\(dp[1][0] = 3, dp[1][1] = 0\);
状态转移方程为$$\begin{ca ...
神经网络识别手写体数字
1. 前言智能控制课程的作业之一就是利用神经网络识别手写体数字, 花了两天时间用Matlab实现了
2. BP算法神经网络是智能控制领域很重要的一部分,BP网络算法则是神经网络控制中最重要的算法之一。http://blog.csdn.net/gongxq0124/article/details/7681000
3. 源代码The source code of this project is here.