新加坡做网站的价格,公众号制作代运营,毛网商城,做论坛网站如何赚钱在《逻辑回归》与《sigmoid与softmax》中#xff0c;小夕讲解了逻辑回归背后藏着的东西#xff0c;这些东西虽然并不是工程中实际看起来的样子#xff0c;但是却可以帮助我们很透彻的理解其他更复杂的模型#xff0c;以免各个模型支离破碎。本文中#xff0c;小夕将带领大… 在《逻辑回归》与《sigmoid与softmax》中小夕讲解了逻辑回归背后藏着的东西这些东西虽然并不是工程中实际看起来的样子但是却可以帮助我们很透彻的理解其他更复杂的模型以免各个模型支离破碎。 本文中小夕将带领大家从另外一个角度看待逻辑回归从这个角度出发又可以轻易的衍生出一系列如最大熵模型、条件随机场甚至一般化的无向图模型。 还是回到逻辑回归这个熟悉的假设函数上来 根据《sigmoid到softmax》我们很容易通过将sigmoid推广到softmax来将逻辑回归也推广到多类分类器此时叫softmax分类器。这时的假设函数 至此有疑问的同学乖乖的回去看《sigmoid与softmax》哦~ 而根据《逻辑回归到受限玻尔兹曼机》中的做法上面假设函数中的大分母就可以表示成一个配分函数Z其作用就可以看作是用来归一化的通俗的讲就是将不限制范围的“亲密度”值转化为限制在0-1之间的值即概率。 好啦~重点开始了。既然假设函数h算的就是当前样本属于某个类别的概率既然Z就是用来将输出值转换为概率值的那么我们就不管Z了反正信息量就聚焦在分子上。而当前样本是用特征向量表示的所以将分子画出来后其实看起来跟神经网络差不多 这个图即样本用3个特征表示通过参数w将这三个特征的值加权得到某类别的判别程度。然而这个图其实我们可以换一种角度来表示比如我们假设每一维度的特征有两个取值0和1那么上图可以表示成 也就是说我们可以将X的每一维度特征下的每个取值与某个类别配对并同样的用一个参数来描绘这个配对的紧密程度认为这一对完全不可能成的话即让这一组的参数为0呗这样的表示看起来好像等价于上一种表示方法然而实际上我们也注意到了模型的参数由3个变成了6个这说明后一种表示方法更加灵活理论上可以建模更多的信息。为什么这样说呢 试想一下实际上很多机器学习问题下某一个特征下的每个取值并不是都有助于判断其所属类别的比如我们的机器学习任务是判断男女样本的一个特征选择为身高身高分为两个值1、180以下; 2、180以上。那么当该特征的值为2时它可以很大程度上判断出来类别为男小心误伤。。。也就是说属于强特征然而当特征的值为1时它对于分类其实是没有太大作用的180以下的男生跟女生都非常多且比例相差不算大也就是说这时身高又属于弱特征了。 显然当我们用前一种传统的逻辑回归表示时一旦身高的值为1这时反而容易引入噪声更不利于分类了。但是用后一种表示的话我们就可以让“身高180以下与男生”和“身高180以下与女生”的参数为0甚至直接将这两个配对关系删掉理论上在很多场合下会有更佳的表现。 那么这个所谓的配对关系的正式名字叫什么呢就叫特征函数。如前所述它的粒度更小直接将某个特征下的某个取值当然这里是机器学习意义上的取值因此值当然也可以代表180以下这种区间的形式与某个类别封装成一个特征函数基于一系列的特征函数去做进一步的分类等工作。所以可以形式化的将特征函数表示为 然后对于其他的情况如果我们觉得没什么用就可以直接不定义特征函数啦~然后就可以去yy其他的强特征加进来了~当然就算全加上也没关系只要训练数据足够足够好的话是能学出来无效的特征函数的特征的值对于每个类别的参数是几乎相等的。 所以用特征函数表示的“逻辑回归”的假设函数即 当然啦显然这里对所有的特征函数及其参数求和的操作就等效于前面逻辑回归的向量内积的操作只是说操作等效不是说值相等。 那么问题来了假如我们丧心病狂的定义了1000个特征函数但是实际上训练集中只能统计出其中100个特征函数的参数情况剩下900个怎么办呢更广义的说我们只能统计出100个特征函数的分布情况其他的特征函数或者有用但是观测不到或者对于分类本来就没作用所以我们根本没去统计那怎么办呢 试想一下对于那些训练集中没有覆盖的特征函数就相当于是未知事件。为未知事件我们无法评估啊又不能直接假设他们不发生大部分情况是发生了但是没有观测到而已如果假设不发生的话那很显然会导致模型的泛化能力受大影响即容易过拟合。那么最优的情况是什么呢当然就是假设那些未知事件等概率分布啦~还是举个栗子吧 比如我们定义了关于体重与性别分类任务将体重分3档90斤以下90-120120以上。因此显然一共有6个特征函数认为无用的特征函数可以不统计当做没有观察值去处理。用x1-x6表示 90以下90-120120以上男x1x2x3女x4x5x6 然而我们的训练集中只有120斤以上的人群并且统计出来120斤以上60%是男生40%是女生。这时怎么办呢一个很简单的想法是尝试解一个等式与不等式混合的方程组 于是有以下方程组 然而真正解的话我们会发现解并不是唯一的还是难以衡量最优的情况。那怎么办呢 想一下我们所知道的信息就是1、120斤以上的男女比例是6比42、其他事件尽可能等概率分布3、所有事件的概率和为1 试想我们从所有特征函数构成的整个概率分布出发的话第一条其实就是一个对概率分布情况的约束条件第2、3就是表示让未知事件保持最无序的状态等概率分布的时候就是最无序的《信息论基础》与《决策树》中都有讲呐不理解的回去翻看哦。而衡量无序度的指标就是熵所以既有约束条件有要尽可能保持最无序的状态那目标状态不就是满足约束条件的情况下熵最大的状态嘛。这里的熵当然指的是条件熵已知x的情况下y的无序度因此我们的训练目标也就是目标函数即 至此假设函数和训练的目标函数都有了其中假设函数就是换汤不换药很自然的这个新模型的特色就在于它的目标函数啦~所以它的名字就叫“最大熵模型(ME)”。 最后根据《一般化机器学习》还缺少最优化算法。它的优化算法自然也很特殊是用称为通用迭代尺度法GIS的算法和改进的迭代尺度法IIS去训练的这对于最大熵模型可谓是量身定做。限于篇幅和该优化算法的影响范围小夕就不在这里讲啦~有兴趣的同学可以看下面这篇文章讲的很详细 http://blog.csdn.net/itplus/article/details/26550369 在应用上最大熵可谓是自然语言处理领域最成功的判别式分类模型几乎渗透在各个可以等效成分类任务的自然语言处理任务如主题分类、语言模型等可谓是深度学习之前的最有效方法之一。当然啦如今在样本量不足的情况下最大熵模型依然是最值得首先尝试的模型。只不过其工程实现难度很大建议还是采用别人已经写好的工具啦如下 OpenNLP : http://incubator.apache.org/opennlp/
Malouf: http://tadm.sourceforge.net/
Tsujii: http://www-tsujii.is.s.u-tokyo.ac.jp/~tsuruoka/maxent/