人工智能简述2

第二次入门培训,重点介绍人工智能中经典算法和深度学习在自然语言的应用。

1.  经典算法:逻辑回归Logistic Regression。

2. 深度学习: 基于循环神经网络RNN的自然语言处理NLP,词嵌入word2vec和情感识别。

1. 概述

前一章算法层面,划分为传统机器学习算法和深度学习算法,回顾下:

左侧是传统的机器学习算法,包括逻辑回归、k-means、支持向量机SVM等(听不明白没关系),核心在于人工抽取特征。

右侧是深度学习算法,(听不明白没关系)以神经网络(neural network)为代表的多层感知机MLP、循环神经网络RNN(又称递归神经网络)和在此基础上的长短期记忆单元(LSTM),火爆的卷积神经网络CNN。

2. 经典算法:逻辑回归

逻辑回归Logistic Regression,是很经典的算法,监督学习中解决分类classification问题非常直接有效。该方法也是各类神经网络的算法基础。

假设有一些数据,特征为x1,x2,并知道标签(绿色/红色),如何建立一个模型,当知道x1,x2时,预测属于那个标签(绿色/红色)?

逻辑回归模型实现数据分类

简单来说就是通过建立一个公式(模型):

y=θ(1)*x(1)+θ(2)*x(2)+....+θ(0)    简化为

y=θ'X    θ是权重,X是输入的特征

详细的算法实现参见:https://www.jianshu.com/p/9e298238a6f9 (可不看)。

2.1 重点

重点说几点:

1.  输入*权重=猜测值,实际基准-猜测值=误差

2. 减少误差 代价函数costFunction 或者是loss function。机器一开始很笨的随机设置权重,不断的求解减少误差cost/loss.

3. 激活函数,由于逻辑回归是一个分类问题,需要一个开关,将输入数据进行足够/不足够(开/关)处理。常见的激活函数为sigmoid或者tanh,还有relu等。

激活函数sigmoid和tanh

4. 求解cost/loss误差不断缩小的过程,就是求解斜率(求导)过程,一般使用梯度下降(Gradient Descent)笨笨的计算。

2.2 应用

如果能够抽取良好的数据特征,就可以做很多数据的预测,与我们自身有关的是:

1. 用户活跃预测,在我们运营里面,根据用户注册的信息、邮箱(企业邮箱/普通邮箱),手机(是否绑定)、微信(是否绑定)、团队用户数、使用信息(应用数、事件数、关键页面点击)等特征,根据以往的活跃用户,可以进行逻辑回归计算,判断24小时内新注册用户成为活跃用户的可能性。

2. 事件根源预测,根据用户发过来的消息事件,通过人为标记的是否为根源故障/事件的方式,通过学习,再有新事件就可以预测是否为根源。

逻辑回归简单易用,适合作为基准算法,也就是说快速原型demo,得出准确率accuracy、精准率precision和召回率recall。之后再使用更复杂算法去优化计算,例如神经网络NN多层感知机MLP、循环神经网络RNN等。

3 深度学习

3.1 概述

深度学习概念上没有一个特准确说法,简单起见,超过2层隐层的神经网络都可以说是深度学习。

可以理解为多个逻辑回归LR的组合

神经网络NN最经典的算法是多层感知机MLP,如上图所示,可以理解为一堆的逻辑回归组成,一个逻辑回归不准确,用一堆来搞~

神经网络有很多的延伸:

(1)多层感知机MLP,经典神经网络,可以理解为多个逻辑回归叠加,准确度比逻辑回归LR大幅提升。详细内容参见https://www.jianshu.com/p/b9251c866344 (可不看)。

(2)卷积神经网络CNN,一般用于视觉处理,如图形识别,用在文本自然语言处理NLP的较少(http://www.aclweb.org/anthology/D14-1181).

(3)循环神经网络RNN,跟我们相关度很高,特别是自然语言处理NLP方面。常见的诸如情感分析,单词预测(输入法)、对话机器人(谷歌助手、小米小爱)、自动写作文、自动写歌曲等。下面重点说说这个RNN。

3.2 循环神经网络RNN

这里不展开具体算法,只说用途和大概思路。循环神经网络(又称递归神经网络)属于序列模型,跟我们AIOps中的时间序列数据很类似,如监控数据、股票数据、音频、自然语言等等,这都是序列数据。与卷积神经网络CNN处理图片这些数据有些差异~

序列数据有很强的上下文关系,例如在AIOps中寻找监控数据异常点,如业务访问量异常,什么是异常?多高算高,什么时间(高峰/低谷)都是问题,依赖之前的历史数据。

而在人机对话中,今天天气怎么样?晴天。多少度呢?这些都是序列,依赖上下文,否则一句话:多少度?很难理解了。我们看看循环神经网络示例:

吴恩达《深度学习工程师》-《序列模型》

可以看到声音识别、自动谱写音乐(无输入)、语句情感分析、DNA序列分析、机器翻译、视频识别、实体标注等等。有一个显著特点:输入和输出是不一定对等的。

吴恩达《深度学习工程师》-《序列模型》

RNN的特点是,有很多的输入x<1>,每次输入会得到一个中间值a<1>,和一个预测输出值y<1>,可以不断的循环反复。举例来说:x<1>=今,x<2>=天, x<3>=天,x<4>=气,x<5>=怎。。。。

序列模型的前向传播FP

我们先不纠结具体的实现,从计算公式上看,历史的数据结果会传递到后面,今天天气怎么样?晴天。多少度?26度,温度适宜。人机对话就可以实现上下文的信息记录和处理了。

3.3 语句情感分析

举例说明,RNN在自然语言中处理的一个常见应用:语句情感分析。用户评价以及评分(1-5),常用于电商、视频(电影/电视剧)等评分,以及微博/微信舆论预测分析。通过大量有标注结果(评分)数据进行学习,训练出一个模型,当有新的语句的时候,可以预测结果(评分)。

虽然有点贵,不是很修身,但颜色很亮,布料摸起来挺舒服的,图案也好看,挺喜欢的。  5分

虽然折扣很大,颜色很亮,图案也好看,但是布料摸起来一般的,容易掉色,果然是一分钱一分货。  2分

与我们相关的就是,标签标注和根源分析,例如一个告警事件过来,文本形式,如何识别是否是根源问题,可能性多大。具体的标签(业务、网络、主机、应用)是什么样?进行根源预测和自动化打标签,这样运维运营人员,就能快速识别重要问题和业务影响。

吴恩达 《深度学习工程师》《序列模型》

输入数据是x,x是一系列的单词组成的数据流(序列),结果是评分y,这是多输入单输出(many to one)模式。

吴恩达 《深度学习工程师》《序列模型》

处理过程是将每个单词的词向量(e8928、e2468。。。)进行相加,求平均,再通过一个算法(softmax)进行概率统计,预测评分(正面/负面)。

假设有大量的数据进行训练,那么是可以建立起一个数据公式(模型),当有新的数据的时候,就可以进行预测了。貌似很简单,有两个问题:

(1)词向量是什么?一个词数字化后的向量,(不懂没关系),引出了下面词嵌入word embedding,word2vec。

(2)简单向量相加,没有语义理解。假设出现, the desert is excellent,but 。。。。的时候,其实含义完全相反了,所以需要使用到循环神经网络RNN,记录之前的单词和顺序。


通过RNN实现情感分析

3.4 自然语言NLP 词嵌入word2vec

与其他的数据,可以数字化不同,文本不是数字;所有机器学习计算都是数学计算,所以都是数字化的,数据预处理和转化对自然语言来说是必不可少的。

词嵌入word embedding,有很多解释。我用一个比较形象的比喻,就是猕猴桃或者是西瓜,西瓜里面的每一个籽,就是一个词,整个西瓜是一个3维空间,词嵌入到西瓜里面。那么西瓜就代表了一个语言集合(中文/英文小说集):

(1) 相类似的词,可能会聚在一起,西瓜籽比较集中。(男人和女人、国王和皇后, 西瓜和苹果)

(2)词语之间的距离,就是空间距离。男人和女人很近,西瓜和苹果很近,男人和西瓜就很远了~。

嗯,那为啥是词嵌入呢?早期有一种表示方法是one-hot编码,我们看看其特点。假设中文/英文合计有10000个词,每个词占一位。 “男人”=[0 0 0 0 0 0 0 1 0 0 0 0 .....0],是不是就可以解决语言的表示问题呢?可以解决,但是词与词没有任何的关系,完全割裂开。


one-hot单词没有关联

通过向量空间的方式,通过训练学习,建立起一个N维(如300维)的空间,实现词语有序的组织起来。他们的词语之间的距离,一般用夹角(余弦cosθ)进行表示,如果夹角很小,cosθ很大,说明很相似。中国:北京和美国:华盛顿 可以等同,中国和美国很近(都是国家)。

建立300维属性的词频

假如针对各个单词,建立300维属性,如性别、高贵、年龄、食品...等属性,判断这些单词归属这些属性的可能性(概率),那么就可以得到一个矩阵,词语之间就有关联了。之后把西瓜拍遍后,就会看到词语处于不同的位置上:

300维降到2维 t-sne

我们看到,男人和女人很相似,夹角很小,苹果、橙子很近,相似度很高,所以从向量的物理位置(夹角就很小,cosθ大)。

word2vec是谷歌提出的一个词嵌入算法,通过RNN的计算方式可以训练出一个模型“词嵌入矩阵”,当要计算一个语句的时候,将语句进行分词,获取每个词对应的向量值,也可以进行比较了(计算余弦cosθ)。

根据“我喜欢喝苹果汁”,预测:“我喜欢橙子(  汁 )”而不是橙子(泥)。

3.5 AIOps应用

OneAlert应用AI技术,处理文本事件数据时,基本处理流程:

(1)建立自己的word2vec模型,基于目前应该是国内最大(时间最长)的监控告警事件库,通过过滤、分词、建模过程实现词嵌入模型。

(2)基于词嵌入模型,进行机器学习处理,包括聚类(cluster)关联故障事件、监督学习根源分析、标签标注等。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容