机器学习课程中遇到的一些名词解释
来源:互联网 发布:扬州网络电视台节目单 编辑:程序博客网 时间:2024/05/21 10:55
1.条件模型(Discriminative Model)和生成模型(Generative Model)
假如我们有输入数据x,并且希望将它分类到标签y中。
生成模型(Generative Model)学习p(x,y)的联合概率分布,条件模型(Discriminative Model)学习p(y|x)的条件概率分布。
2.朴素贝叶斯模型(Naive Bayesian Model)
分类是将一个未知样本分到几个预先已知类的过程。数据分类问题的解决是一个两步过程:第一步,建立一个模型,描述预先的数据集或概念集。通过分析由属性 描述的样本(或实例,对象等)来构造模型。假定每一个样本都有一个预先定义的类,由一个被称为类标签的属性确定。为建立模型而被分析的数据元组形成训练数据集,该步也称作有指导的学习。
在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive BayesianModel,NBC)。决策树模型通过构造树来解决分类问题。首先利用训练数据集来构造一棵决策树,一旦树建立起来,它就可为未知样本产生一个分类。
和决策树模型相比,朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。 但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属 性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。
朴素贝叶斯模型:
----
Vmap=arg max P( Vj | a1,a2...an)
Vj属于V集合
其中Vmap是给定一个example,得到的最可能的目标值.
其中a1...an是这个example里面的属性.
这里面,Vmap目标值,就是后面计算得出的概率最大的一个.所以用max来表示
----
贝叶斯公式应用到 P( Vj |a1,a2...an)中.
可得到 Vmap= arg maxP(a1,a2...an | Vj ) P( Vj ) / P (a1,a2...an)
又因为朴素贝叶斯分类器默认a1...an他们互相独立的.
所以P(a1,a2...an)对于结果没有用处. [因为所有的概率都要除同一个东西之后再比较大小,最后结果也似乎影响不大]
可得到Vmap= arg maxP(a1,a2...an | Vj ) P( Vj )
然后
"朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。换言之。该假定说明给定实力的目标值情况下。观察到联合的a1,a2...an的概率正好是对每个单独属性的概率乘积: P(a1,a2...an |Vj ) = Π iP( ai| Vj )
....
朴素贝叶斯分类器:Vnb =arg max P(Vj ) Π i P ( ai | Vj )
3.交叉熵(cross-entropy)
(1)信息量
假设X是一个离散型随机变量,其取值集合为,概率分布函数为p(x)=Pr(X=x),x∈,我们定义事件X=x0的信息量为:
I(x0)=−log(p(x0)),可以理解为,一个事件发生的概率越大,则它所携带的信息量就越小,而当p(x0)=1时,熵将等于0,也就是说该事件的发生不会导致任何信息量的增加。举个例子,小明平时不爱学习,考试经常不及格,而小王是个勤奋学习的好学生,经常得满分,所以我们可以做如下假设:
事件A:小明考试及格,对应的概率P(xA)=0.1,信息量为I(xA)=−log(0.1)=3.3219
事件B:小王考试及格,对应的概率P(xB)=0.999,信息量为I(xB)=−log(0.999)=0.0014
可以看出,结果非常符合直观:小明及格的可能性很低(十次考试只有一次及格),因此如果某次考试及格了(大家都会说:XXX竟然及格了!),必然会引入较大的信息量,对应的I值也较高。而对于小王而言,考试及格是大概率事件,在事件B发生前,大家普遍认为事件B的发生几乎是确定的,因此当某次考试小王及格这个事件发生时并不会引入太多的信息量,相应的I值也非常的低。
(2)熵
那么什么又是熵呢?还是通过上边的例子来说明,假设小明的考试结果是一个0-1分布A只有两个取值{0:不及格,1:及格},在某次考试结果公布前,小明的考试结果有多大的不确定度呢?你肯定会说:十有八九不及格!因为根据先验知识,小明及格的概率仅有0.1,90%的可能都是不及格的。怎么来度量这个不确定度?求期望!不错,我们对所有可能结果带来的额外信息量求取均值(期望),其结果不就能够衡量出小明考试成绩的不确定度了吗。
即:
HA(x)=−[p(xA)log(p(xA))+(1−p(xA))log(1−p(xA))]=0.4690
对应小王的熵:
HB(x)=−[p(xB)log(p(xB))+(1−p(xB))log(1−p(xB))]=0.0114
虽然小明考试结果的不确定性较低,毕竟十次有9次都不及格,但是也比不上小王(1000次考试只有一次才可能不及格,结果相当的确定)
我们再假设一个成绩相对普通的学生小东,他及格的概率是P(xC)=0.5,即及格与否的概率是一样的,对应的熵:
HC(x)=−[p(xC)log(p(xC))+(1−p(xC))log(1−p(xC))]=1
其熵为1,他的不确定性比前边两位同学要高很多,在成绩公布之前,很难准确猜测出他的考试结果。
可以看出,熵其实是信息量的期望值,它是一个随机变量的确定性的度量。熵越大,变量的取值越不确定,反之就越确定。
对于一个随机变量X而言,它的所有可能取值的信息量的期望(E[I(x)])就称为熵。
X的熵定义为:
H(X)=Eplog1p(x)=−∑x∈Xp(x)logp(x)
如果p(x)是连续型随机变量的pdf,则熵定义为:
H(X)=−∫x∈Xp(x)logp(x)dx
为了保证有效性,这里约定当p(x)→0时,有p(x)logp(x)→0
当X为0-1分布时,熵与概率p的关系如下图:
可以看出,当两种取值的可能性相等时,不确定度最大(此时没有任何先验知识),这个结论可以推广到多种取值的情况。在图中也可以看出,当p=0或1时,熵为0,即此时X完全确定。
熵的单位随着公式中log运算的底数而变化,当底数为2时,单位为“比特”(bit),底数为e时,单位为“奈特”。
(3)交叉熵
交叉熵容易跟相对熵搞混,二者联系紧密,但又有所区别。假设有两个分布p,q,则它们在给定样本集上的交叉熵定义如下:
CEH(p,q)=Ep[−logq]=−∑x∈p(x)logq(x)=H(p)+DKL(p||q)
可以看出,交叉熵与上一节定义的相对熵仅相差了H(p),当p已知时,可以把H(p)看做一个常数,此时交叉熵与KL距离在行为上是等价的,都反映了分布p,q的相似程度。最小化交叉熵等于最小化KL距离。它们都将在p=q时取得最小值H(p)(p=q时KL距离为0),因此有的工程文献中将最小化KL距离的方法称为Principleof Minimum Cross-Entropy (MCE)或Minxent方法。
特别的,在logisticregression中,
p:真实样本分布,服从参数为p的0-1分布,即X∼B(1,p)
q:待估计的模型,服从参数为q的0-1分布,即X∼B(1,q)
两者的交叉熵为:
对所有训练样本取均值得:
这个结果与通过最大似然估计方法求出来的结果一致。
- 机器学习课程中遇到的一些名词解释
- 机器学习的名词解释
- 工作中积累的一些名词解释
- 计算机网络中常见的一些名词解释
- angular 中 一些名词解释
- struts2学习中遇到的一些问题
- Django学习中遇到的一些错误
- 学习Hadoop中遇到的一些问题
- sift 学习中遇到的一些问题
- Java学习中遇到的一些问题
- 记录学习中遇到的一些异常.
- 学习Java中遇到的一些问题
- Mysql学习中遇到的一些问题
- 一些学习中遇到的问题整理
- servlet学习中遇到的一些问题
- win32API学习中遇到的一些问题
- 深度学习中遇到的一些概念
- WinCE的一些名词解释
- Linux命令行——free命令详解
- 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化)
- Dockerfile编写制作含有node环境的项目镜像
- mvn配置settings文件
- Spark-电影推荐系统
- 机器学习课程中遇到的一些名词解释
- 监督学习最常见的四种算法
- keras修改backend
- 链表归并排序
- Mybatis的接口映射、接口的注解映射和自定义传参
- sql之left join、right join、inner join的区别
- iOS实现从后台切换到前台有毛玻璃效果
- ios Array 数组的valueForkeypath 快速的处理以及数组的拆分
- Java线程同步--synchronized的用法