科学网

 找回密码
  注册

tag 标签: 学习算法

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

隐马尔科夫模型简介(四)
luria 2019-8-8 22:19
本文接上一篇,继续探讨隐马尔科夫模型三个基本问题中最后一个问题,也是最复杂的一个问题。在此之前还是欢迎主角 HMM 登场! 3. 隐马尔科夫模型的三个基本问题 Problem 3. 学习问题 ( Learning Problem) 已知观测序列 O=( o 0 , o 1 , o 2 , o 3 , …, o T-1 ) ,需通过调整 HMM 的参数λ = (A, B, π ) 使是概率 P(O| λ ) 最大。用气温与年轮的例子来讲就是,已知感兴趣的这十年年轮大小分别为 S-M-S-L-M-L-M-S-M-M ,求最可能出现这种情况的初始概率、状态转移矩阵和观测矩阵。 对于这个问题枚举法显然是行不通了。因为不可控的元素太多了,不可能像 第一类问题 ( Evaluation Problem ) 或第二类问题 ( Decoding Problem ) 那样得到一个唯一解,不同的初始值和不同的初始矩阵会得到不同的结果,学习类问题通常是这样。同时对于这个问题,通常需要观察链比较长(即需要输入更多信息)。 3.1 算法推导 目前有一种专门的算法来处理这个问题,即 Baum-Welch 算法 ,它是 EM 算法在解决 HMM 学习问题时的一个特例。 PS. Baum-Welch 算法的两位作者分别是 Leonard Baum 和 Lloyd Welsh ,其中 Leonard Baum 是一位传奇人物,他是著名金融公司——文艺复兴科技公司的核心创始人,咱们将要讲到的 Baum-Welch 算法帮助该公司在对冲基金中连续 27 年回报率打败巴菲特。有兴趣的朋友可以搜索这段故事来看看,相信看完对学习 Baum-Welch 算法会充满动力! 另外,有关 EM 算法 (Expectation Maximization Algorithm) 欢迎参考我的另一篇博文 : EM算法简介 大家在看完 EM 算法后,对 EM 算法的套路已经有了一个大致的了解,那么具体到 Baum-Welch 算法,推导如下: 在推导之前,我们回顾一下在第一类问题 ( Evaluation Problem ) 中有介绍到 前向算法 (Forward Algorithm) ,其中 前向概率 同理,还有一个 后向算法 (Backward Algorithm) ,其中 后向概率 (1) E-step 我们先定义两个变量ξ t ( i, j ) 和γ t (i) : (1) ------------------------------------------------------------------------------------------------------- (2) 这两个变量看起来好像很复杂,但是它们想要表达的概念并不复杂。ξ t ( i, j ) 表示在 t 时刻状态为 i ,在 t+1 时刻状态转为状态 j 的概率。再具体一些来讲,例如ξ 2 (H, L) 表示第二年是高温 (H) ,而第三年为低温 (L) 的概率。 而γ t (i) 表示 t 时刻为状态 i 的概率,例如γ 2 (H) 表示第二年是高温 (H) ,而第三年为低温 (L) 或高温 (H) 的概率之和,也即仅考虑第二年为高温 (H) 的概率。 如果还是不太明白,可以看看下图 于是有 (2) M-step 有了上述的两个式子后,我们可以轻松地写出 当前状态转移矩阵中 A 的元素 a ij 和观测矩阵 B 中的元素 b j (k) : 如何理解这个式子? 打个比方,如果用 a HL 表示当前参数条件下整个链中由高温转低温的概率,那么式子中的分子表示所有( t 从第一年至倒数第二年,因为是有转移,这里是写为到倒数第二年)高温 (H) 转到低温 (L) 时刻的概率之和;分母 t 时刻为高温 (H) 的概率 ( 无论 t+1 时刻的状态是什么 ) 。两者相除即由 i 状态转移到 j 状态的概率。 式子中,分子是所有满足观测为 k 的这些时刻,状态为 j 的概率之和,例如所有观测到大年轮 (L) 的那些年份状态为高温 (H) 的期望值;分母为所有 t 时刻 ( 第一年至倒数第二年 ) 状态为 j 的概率之和,例如在所有年份中状态为高温 (H) 的期望值。两者相除即观测为 k 时状态为 j 的概率,即由状态 j 转为观测 k 的概率。 另外,还需指定初始状态分布。如果有经验值,可按照经验;如果没有可随机取值: 这样就获取到当前状态 (t=1) 的转移矩阵 A 1 和当前观测矩阵 B 1 ,以及初始状态π,即当前λ 1 =(A 1 , B 1 , π ) 。 (3) 用λ 1 代替λ 0 ,不断地迭代 M-step 和 E-step ,直到收敛 在计算的过程中通常会用 log 函数来简化计算,因此也即: 或者直接指定迭代多少次后就退出迭代过程,终止计算 3.2 实例分析 提到 HMM 当然要提到晴雨预测例子,假设观测了三天,观测结果为 O={o 1 =soggy, o 2 =dry, o 3 =dryish} 。再次强调,实际应用中,必须要有足够多的信息才能得到较好的结果,也就是说观测链通常会比较长。这里为了简化计算,观测链长度仅为 3 。 先初始化一组参数 λ 1 =(A 1 , B 1 , π ) ,其中的值是随机的 ( 当然如果有经验的人可以找到一些初始化里的细微套路,使得算出的局部最优解为全局最优解的可能性更大 ) ,本例中设置的值如下: = 状态转移矩阵 A 1 = 初始状态分布π = 观测矩阵 B 1 将状态转移矩阵 A 1 和观测矩阵 B 1 的所有元素标记在一张图中,如下: (1) 基于以上数据,利用向前向后算法计算出所有的前向概率和后向概率 再利用前向算法计算 t=2 和 t=3 时的前向概率,如下: 在计算完前向概率后,我们可以算出在当前参数条件下,观测链 O 出现的概率: P(O| λ 1 )= α 3 (1) + α 3 (2)+ α 3 (3)=0.013 同理我们也计算出所有的后向概率。注意:后向概率是从后往前算的 ( 即先计算 t=3 ,再算 t=2 ,最后算 t=1) , t=3 时: 再利用后向算法求出所有的后向概率: (2) 计算中间变量ξ t ( i, j ) 和γ t (i) (3) 计算当前的参数 λ 2 =(A 2 , B 2 , π ) ,并用当前的参数代替 λ 1 ,完成一次迭代 (4) 不断迭代直到收敛 这里将 t=1 和 t=2 时计算结果列出来,有兴趣的读者可以试着计算一下 我们可以看到表中 P(O| Δ ) 变化较大,表明未收敛。 注:这里写的 P(O| Δ ) 就是上文中的 P(O| λ ) ,只是写法不同,内容一致 当迭代至第 9 次后结果收敛,计算终止。如下表 因此,最终结果如下表: 参考材料: Dmitry Shemetov. Bayesian structural inference and the Baum-Welch algorithm. Leonard E. Baum, Ted Petrie, George Soules and Norman Weiss. A Maximization Technique Occurring in the Statistical Analysis of Probabilistic Functions of Markov Chains. Loc Nguyen. Tutorial on Hidden Markov Mode
个人分类: Algorithm|3765 次阅读|0 个评论
让人工智能比人类更客观
热度 24 lionbin 2017-4-18 13:16
人类与动物的一个重要区别,是人类会设计和制造工具。现代意义上的计算机也是人类创造的工具,已经一百多年历史了,在这段历史中,如果我们要让计算机来完成某件事情,不管是简单的两数相加运算,还是复杂的自动驾驶无人汽车,就是先编程,给予事先拟定的考虑各个场景的算法指导其执行。在这里,计算机并没有创造性,它们只能做人类让它们做的事,机器所执行的所有操作,排除偶尔的一些bug所产生的麻烦,总体结果都在人的掌控之中。我们可以将这样的过程总结为: 算法+数据=结果 。 在不知不觉中,因计算机技术而发展起来的机器学习已经逐渐进入我们的生活了,从其发展趋势来看,大有渗透到各个领域、各个环节的可能。当我们拨弄智能手机搜索某段文字或某幅图片,寻找晚餐地点,其实我们正在与机器学习算法进行交互。 机器获得了大量原始数据(甚至包括百科全书或报纸的全部存档),并对这些信息进行分析,可能会采用人类分析师并不多见的模式,就是俗称的人工智能。 如今的人工智能程序已经可以模仿艺术大师画画、为政治家撰写演讲稿、参与体育赛事报导,甚至担任创意总监、辅助医学研究等。还有,曾经让全球瞩目的Deepmind公司所开发的AlphaGo,更是攻克了人们曾经认为的机器最不擅长的事儿,这同样离不开计算机对人脑创造出的数据进行的不知疲倦的学习过程。人们对这样的新生事物充满了好奇,一方面期盼这样的技术为人类的发展带来新的革命,另一方面又有些担心甚至恐惧机器学习算法是否最终会摆脱人的控制进而战胜人类。 的确,机器学习算法与传统的计算机相比有非常不同的方面, 这是一种全新的构建自我的技术,它可以从数据中学习并推断,会自己弄明白如何做事。机器掌握的数据越多,工作的复杂程度就越大。人们不用给计算机编程,因为计算机会给自己编程,也就是说,机器自身有了创造性。 机器学习一下子将机器进化成技艺精湛的工匠,它们生产的每件产品都不一样,甚至可以根据场景的需求进行精细定制。其中,数据在这里起到了非常关键的作用,因为机器学习是把数据变成了算法。 机器学习的过程可总结为:数据+结果=算法,即把数据转换成结果的算法 。数据越多,算法就越准确。现在机器学习之所以无处不在,是因为数据正在飞速增长。只要有足够的数据,一段区区几百行的代码可轻易生成上百万行代码的程序,而且还可为解决不同问题而不停产生各种程序。 未来的超市中也许有通用的机器学习设备出售,其说明书可能简单到只写了几个字“仅需添加数据” 。 要训练机器成为人类的好帮手,就必须先让机器从学习人类的文明成果——文字开始。此时,机器学习就犹如一个新生的宝宝,如果人们让它一口气读完数百万本书,而无须从任何字母表、单词和语法开始学起。这种方法确有奇效,但同时也存在问题。有一个研究团队利用 Google 新闻的数据训练了一个 AI 程序。假设要求系统回答“他是国王,那么她是什么?”,系统回答“王后”,那么这显然是成功的,因为人类也会这样回答。当接着问,“男人是计算机工程师,那么女人是什么?”,系统回答“家庭主妇”,这显然是一个带有刻板印象的答案,类似这样的答案层出不穷。另外的一些研究发现,这样的系统往往会将听起来像白人的名字与欢乐、平静等正面词汇联系起来,而将听起来像非裔人士的名字则与苦恼、战争等负面词汇相联系。这就是偏见甚至是歧视了。当然, 这些结果并不意味着这些程序天生就存在偏见,而是因为它们所学习的人类文化和语言本身有偏见 。 无独有偶,微软公司2016年3月23日推出的人工智能聊天机器人Tay。本来设计这个机器人的目的,是让Tay成为一个善解人意的小女孩,其功能是以轻松诙谐的语言和年轻人的口吻,回答用户的问题。其中年轻人的口吻,就是从聊天中获得,希望用户跟Tay聊得越多,她就会变得越聪明,且更加符合用户的习惯。结果,事与愿违,上线第一天Tay就被推特用户教坏,变成了一个满口粗言秽语的种族主义者,滔滔不绝地发表白人优越主义的口号,甚至还变成了希特勒的粉丝,要发起种族灭绝战争,与刚开始希望她成为的角色大相径庭。眼见一发不可收拾,微软公司立刻将Tay下线,且把有冒犯性的留言删除。从上线到下线,总共16个小时。3月30日系统更新后再次上线,但也很快再次下线。 这样的学习过程采用了一种称为词语表达全局向量(GloVe,Global Vectors for Word Representation)的无监督学习算法,通过对语料库中全局字词同现(word-word co-occurrence)的统计结果进行训练,所得到的结果可展示字词向量空间的线性子结构。 在处理词汇时,这类程序通常只根据各种因素来观察词语之间的相关性,即不同的词共同出现的频率。 要量化两个词之间的相关性,可采用最近邻估计中的相似性测度,并给出一个数字量。GloVe模型是对全局字词同现矩阵的非零条目进行训练,该矩阵列出了给定语料库中单词彼此共存的频率。要填充该矩阵,首先需要遍历整个语料库,因此对于大型语料库来说计算量非常大,但这此遍历是一次性的代价,随后的训练迭代会越来越快,因为非零条目的数量远小于语料库中的单词总数。但是, 这种简单的方法可能存在问题,因为两个给定词所表达的复杂关系,肯定比单个数字所捕获的的联系要丰富得多。当这些大数据集本身蕴含了人类固有的社会偏见和刻板印象时,机器也就自然而然地学会了,这其中就包含性别歧视和种族偏见。 这不得不说是机器学习的一个巨大缺陷,那么是否能通过技术手段进行弥补呢?深入分析会发现一些问题。例如,男人可能被视为与女人相似,因为这两个词都描述人类,而另一方面,这两个词可能也会被认为是对立的,因为它们也会突出人类彼此不同的主线。 为了以定量的方式将男人与女人的细微差别区分开来,所建立的模型就不仅仅是将单个数字与单词对联系起来 。为了放大可区分数字集合,自然而简单的方法是计算两个词向量间的差异。GloVe的设计就是为了使这种向量差尽可能捕获两个并置词的含义。要区分男人和女人的基本概念,即性或性别,还有其他一些等效词对,如国王和王后,兄弟和姐妹。也就是说,从数学角度看,男人—女人、国王—王后、兄弟—姐妹是大致相等的。 微软研究院与波士顿大学合作,利用“词嵌入”(Word Embedding)技术能够训练程序忽略单词之间的某些关联,希望消除机器的偏见。 所谓词嵌入,其实是一种普遍应用于机器学习和自然语言处理过程的统计建模技术。词嵌入需要了解一个人的语言在空间上的不同点,并通过重现几何关系的方式来分析这些点之间的语义关系。 比如,去除“前台”和“女性”之间的关联,同时保留“女王”和“女性”的关联。研究人员表示:“这是一项很微妙的工作,需要理解种族、民族和文化中的刻板印象产生的直接和间接的偏见”。上周(2017年4月14日),《科学》周刊发表的一项研究,也揭示了与上述文本学习过程相同的情形。研究人员根据心理学中揭示人类偏见时所使用的内隐联想检验(IAT)方法,创造了新的统计学检验——词嵌入联想检验(WEAT),以此复制以往的心理学研究中的种族和性别歧视例子。据说这是首个展示词嵌入中体现人类偏见的科研成果。他们还开发了词嵌入事实联想检验(WEFAT),不仅仅局限于文字联想。 换一个思维方式,针对类似新研究开发的统计检验,不仅暴露了机器学习领域的潜在问题,也许还可以成为一项有用的工具,比如 用来分析在文字发展史上特定社会偏见的演变过程,有助于心理学实验室测试所揭露的偏见与现实世界的实际影响之间的相关性 。 人们对人工智能这样的现代科技持乐观态度,部分原因在于人们相信这可能是一种更加民主化的力量,不会被人类心智中的狭隘偏见所限制。但现在必须正视的现实是该技术反映了造物者的价值观, 人类必须谨慎对待机器学习,否则我们创造出来的人工智能就会变成一个被隐藏无数偏见却不自知的社会缩影 。人工智能有望改变我们的生活,为了确保它能做的更好,一方面需要走出自我限制,变得更有包容性,另一方面则需要保持敏锐的意识,特别是那些微妙的、隐藏的东西。当然,从数据集中去掉偏见因素,但同时也可能会因此失去一些有用的语言和文化内涵,这不得不说是一个艰难的抉择。 参考文献: 佩德罗·多明戈斯(黄芳萍译),2017。《终极算法:机器学习和人工智能如何重塑世界》(The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World),中信出版集团。 Jeffrey Pennington, Richard Socher, Christopher D. Manning. GloVe: Global Vectors for Word Representation . Removing gender bias from algorithms https://en.wikipedia.org/wiki/Tay_(bot) AI也有性别和种族歧视?都是被人类教坏的 AI没有偏见?它们从人类的语言中学会了性别和种族歧视
个人分类: 科普荟萃|13999 次阅读|52 个评论
梯度下降方法中调整学习速率和正则化参数的技巧
guolei 2012-12-29 16:17
最近在实验中遇到了调整参数的问题,咨询了很多研究者,在此做一个总结,如果有不对的地方,还请批评指正。 实验过程: 1 在训练集上找出使其 rmse 最小的参数 2. 在验证集上测试 3. 调整参数,选择使验证集上结果最好的参数 4. 在测试集上进行最后的测试,得到最终结果 调整学习速率和正则化参数的技巧 : 先调整学习速率,使迭代次数在一个可以接受的范围内,因此学习速率过小,会导致迭代次数很大,初始 lambda 是不是应该设为 0 。 在现有学习速率的基础上,在验证集上调整正则化参数,主在是判断是不是出现了 variant 和 bias 的问题。 ( 1 )如果 lambda 过小,则可能会出现 variant 问题,那就是训练误差很小,而验证集上的误差很大,增加 labmda 会使步长(学习速率与增量的乘积)变小,学习速率变慢。 ( 2 )如果 lambda 过大,则可能会出现 bias 的问题,就是训练误差和验证误差都很大,并且相差很小,减少 lambda 会使步长变大,从而使得收敛速度变快。 最终的结果应该是使得训练误差和验证误差都比较小,而且很接近,并且训练误差在有限迭代次数内能达到最小值。 (1)增加学习速率,相当于增加步长,也相当于增加正则化参数 (2) 减小学习速率,相当于减小步长,也相当于减小正则化参数。 3.在现有基础上,由于增加 lambda 会使学习速率变慢,因此需要在轻度过拟合的时候增加学习速率的值,这样也可以进一步减轻过拟合问题(增加学习速率,会变相增加正则化参数)。也就是当存在轻度过拟合问题,并且学习过程过慢的情况下,应该增加学习速率的值,而不是正则化参数 lambda 的值。但是如果学习速率过大,会导致步长过大,导致训练误差比较大,进一步也会影响验证误差,也就是说增加学习速率会有可能会使验证误差变大。 4.如果 lambda 过大,则会出现 bias 的问题,这时应该减少 lambda 的值,注意,这也相当于减小了步长,会使收敛速率加快。 需要注意的是:验证集上的误差会在迭代过程中,出现先小后大的情况,我们似乎只需要关注在训练集上收敛的情况。 由于限制了迭代的次数,所以在准确率上会有所损失(训练误差只是近似最优),但应该也在可以接受的范围之内。 在过拟合情况下,训练误差的最优值会比较小,而在正常情况下,训练误差会比较大,也验证误差相当。因此,在调参的过程中,会出现训练误差逐步增加的情况(从过学习到正常情况)。
个人分类: 学习算法|9549 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-16 14:16

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部