您的位置:首页 > 其它

机器学习笔记-模式识别

2016-07-26 20:53 197 查看
平均分布(Uniform Distribution) 跟正态分布(normaldistribution)
分布特性可以让我们通过一部分的数了解整体的分布 正态分布特性: 平均值(mean) = 中位数(median) = 众数(model) 密度函数关于平均值对称 函数曲线下68.268949%的面积在平均数左右的一个标准差范围内 95.449974%的面积在平均数左右两个标准差{\displaystyle 2\sigma }

的范围内。
99.730020%的面积在平均数左右三个标准差{\displaystyle 3\sigma }

的范围内
99.993666%的面积在平均数左右四个标准差{\displaystyle 4\sigma }

的范围内
函数曲线的反曲点(inflection point)为离平均数一个标准差距离的位置
2.方差(Variance)Var(X) = σ2 = 1/n∑(xi-u)2
模式识别
基本概念

分类(classification)
识别出样本所属的类别。根据识别前是否需要进行训练,可分为有监督分类(supervised classification)何无监督分类(unsupervised classification)。

有监督分类:根据已知训练区提供的样本,通过计算选择特征参数,建立判别函数以对样本进行的分类。

无监督分类:指人们事先对分类过程不施加任何的先验知识,而仅凭数据,即自然聚类的特性,进行“盲目”的分类;其分类的结果只是对不同类别达到了区分,但不能确定类别的属性。

回归(regression)
统计学上分析数据的方法,目的在于了解连个或多个变数间是否相关、相关方向与强度,并建立数学模型以便观察待定变数来预测研究者感兴趣的变数。更具体的来说,回归分析可以帮助人们了解在只有一个自变量变化时因变量的变化量。
非参数统计(nonparametric statistics)
统计学的分支,适用于母群体分布情况未明、小样本、母群体分布不为常态也不以转换为常态。

惰性学习(Lazing Leaning) 也即 基于实例的学习(Instance-based Learning),机械学习(Rote Learning)。

概率分类(Probabilistic classification), 基于概率分类,分类器给出一个最优类别猜测结果,同时给出这个猜测的概率估计值。概率分类器

, 给定一个

(X是样本集),赋予概率值到所有的

(Y是分类标签集),这些概率值的和使1。
文氏图(Venn diagram),不太严格意义下用一表示集合/类的一种草图。尤其适合表示集合/类之间的“大致关系”。


B.算法
最近邻居法(KNN)
一种用于分类和回归的非参数统计方法。在这两种情况下,输入包含特征空间中的k个最接近的训练样本。是一种基于实例的学习,或者是局部近似和将所有计算推迟到分类之后的惰性学习。衡量邻居的权重非常有用。
在K-NN分类中,输出是一个分类族群。一个对象的分类是由其邻居的“多数表决”确定的,k个最近邻居中最常见的分类决定了赋予该对象的类别。若k=1,则该对象的类别直接由最近的一个节点赋予。
在k-NN回归中,输出是该对象的属性值,该值是其k个最近邻居的值的平均值。
这个算法的计算量相当大,耗时。 Ko和Seo提出了TCFP(text categorization feature projection)。所需时间是这个算法的1/50。
长处:
简单有效
不对数据的分布做假设
训练阶段快
短处:
不生成model, 在洞见feature之间关系上能力有限
分类阶段慢
内存需求大
定类特征(Nominal feature)和丢失数据(missing data)需要进行附加的处理

距离计算,可以用欧几里得距离(Euclidean distance)
在选择k值时,我们要注意方差平衡(Bias-Variance Tradeoff)。大的k值可以减少噪声数据的影响,但是可能导致我们忽视掉小而重要的模式。通常地K值可以取训练样本数的平方根。最好是多尝试几个k值,找到相对合理的k值。如果训练样本所具的代表性高,数量大,k的取值会变得不那么重要。
我们要注意各个特征的取值范围。大取值范围的特征可以会主导距离值。
特征值重新调解的方法有:
极值归一化(min-max normalization)
Xnew = (X-min(X))/(max(X) - min(X))
Z-分数标准化(Z-score standardization)
Xnew = (X-u)/σ = (X-Mean(X))/StdDev(X)

这个算法是lazy Learning 算法。 在整个过程中没有抽象的过程。严格意义上lazing Learning没有真 正的学习发生。

朴素贝叶斯(Naive Bayes)
贝叶斯方法(Bayesian Method),基于已有的证据对事件的发生概率进行估计。
独立事件(Independent event)A,B同时发生的概率P(A∩B) = P(A)*P(B)。
相依事件(Dependent event)时预测性建模(Predictive modeling)的基础。我们可以用贝叶斯理论来描述相依事件的关系。
P(A|B) = P(B|A)P(A)/P(B) = P(A∩B)/P(B)
朴素贝叶斯算法是应用贝叶斯方法的一种机器学习方法之一。
长处:
简单,快速,非常高效
很好地处理噪声跟缺失数据
只需要相对少的样本进行训练,当然也很很好地工作在大量样本数据的情况
可以简单地获得估计概率
短处:
依赖于现实情况出错率高的假设 - 所有特征同等重要且独立
对大量数值型特征的数据集效果不理想
预计分类比估计的概率更可靠

朴素贝叶斯算法得名它对数据进行了一些"naive"的假设(见短处中的第一项)。例如,判断垃圾邮件时,发件人信息比消息内容更重要。虽然很多情况都不违背了一些假设,但是这个算法还是表现不俗。
在处理数值类的特征是我们要对数值进行分类,其中一个简单的方法就是离散化(Discretize)。

实现:

其中一种简单实现就是采用词集模型(set-of-words)。此模型只考虑此是否在文中出现,不关注词出线的次数。实现方法就是先定义词集。然后标示文档,判断某个词在文档中是否出现。在文档样本里如果某词在n个文档中出现,那该词计为n,然后进行概率计算。
如果用Wi代表在文档中出现的词i。用Ck代表第k个分类。那么我们分类的方法就是要判断P(Ck)当k取哪个值时这个概率最大,取到的最大概率对应的分类就是此文档的分类。 那么P(Ck) = Σ P(Ck/Wi)。而P(Ck/Wi) = P(Wi/Ck) * P(Ck) / P(Wi) 。 我们来看 P(Ck/Wi) 通过计算特别是一些四舍五入后结果可能是0。这样某些词的的影响就被这样计算掉了。 为了更能放映每个词的作用有两点可以考虑。第一点我们在算整个样本时可以给每个词都加上一个初始量。第二点,我们可以用ln()计算的结构来进行概率比较, f(x) 跟 ln(f(x))在f(x) > 0 时有相同的斜率变化。另外,这连个函数的极值也是在相同的x点的位置。 这样 ln(ΣP(Ck/Wi)*P(Ck)/P(Wi)) = ln(ΣP(Wi/Ck)) + ln(P(Ck)) - ln(P(Wi)) 。 如果算P(Ck)的话,不论计算那个类别 Σln(P(Wi)) 都是相同的值。所以可以省略掉ln(P(Wi))的计算。如是我们就剩下了 (lnΣP(Wi/Ck)) + ln(P(Ck))。在实际中可能每个类别所出现的概率更有影响力。所以最终我们只需计算 ΣP(Wi/Ck) + ln(P(Ck)) 来进行概率比较。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习