人工智慧线有关于机器学习新手入门的工具Youtube视频

这堂课将带大家认识机器学习新手入门工具 Azure Machine Learning Studio,其图形化介面以及拖拉操作介面,让程式语言技能初阶但又有资料分析与机器学习需求的人,能透过Azure Machine Learning Studio转换到Excel或其他web service上。

hello大家好,我是Ning

我今天要来带大家有关於机器学习新手入门的工具Youtube视频

Azure Machine Learning Studio

它其实适合Excel的power user

然後也适合你对於R跟Python相关的工具接触的时间

大概是可能半年就开始初学

但你又想要知道机器学习可以帮助你实际上怎麽样去应用

所以我今天会花一点时间来示范一个实际上面的例子

然後在开始之前先介绍我自己,我叫Ning Chen

然後我是17 18年微软的Data跟AI相关的MVP

然後我自己本身是台北R-Laides的创办人跟音乐人之一

另外我还会host一个community叫Data for Social Good

然後在2018年年底就是我们其中有一个专案

拿到联发科技在家乡竞赛的一个百万的首奖

然後主题是跟AI On-device,还有跟机器学习是有关的

如果有兴趣的话可以搜寻一下那个相关的新闻媒体报导

好,所以我今天其实很快的要带三个部分的东西

一个是微软AI整个的overview

然後接下来要针对Azure Machine Learning Studio的介绍

然後会做一个实际上的demo

这个demo的case你们之後也可以拿到相关的资料

然後自己实际上做演练

所以微软在整个AI的Portfolio这几年它其实发展越来越完善

然後针对的从个人到组织的角度都有这个cover到

所以你可以看看微软它本身的强项

从Office 365、Bing、Skype、Xbox

然後接下来就是从application往後

比如说它会有一些Pre-Built AI

比如说Cognitive Services

比如说现在很红的Custom Vision

然後还有一些Bot Framework

再来是你也可以去做一些客制化的AI

用Azure Machine Learning、Azure Machine Learning Studio

跟Azure Machine Learning Workbench

Azure Machine Learning Studio是我今天特别要介绍

它主要是图形化界面用拖拉的方式

所以它让很多其实你有做资料分析跟机器学习的需求的人

可是程式语言的学习曲线对你来讲比较高

而且可能挫折感很大

那你可以先用Azure Machine Learning Studio

把你自己要做的预测做出来之後

它可以很快的转换到Excel或是转换到其他的Web service

那我今天会着重在它如何很快转换到Excel或其他Web service

好,所以我们刚才有介绍从application一直到很客制化的AI

然後我们可以从另外一个角度来看微软AI的platform

所以你可以看到它的Al service刚才有提到的三项

然後Azure Machine Learning放在这边Custom AI

再来它也cover到Azure infrastructure

当你AI如果要更进一步做更大规模的部署跟建置的时候

你需要用到後面的相关solution

然後接下来是tool的部分,我们要讲的tool是在这个地方

Azure Machine Learning Studio

刚才有提到它其实是图形化的界面

你可以看到它每一个格子其实是用拖拉的方式在进行

在进行整个你的机器学习的过程

你可以把每个格子都想像成是一行或者是一组的程式码

那对於一般不太会写程式的人

你可能一开始要敲程式码是比较陌生的

但它把常用的程式码组合成一个一个像积木的的方式

然後你可以用积木的方式去做拖拉

构建出你整体需要做预测的整个架构OK

而且它的速度是很快的,等一下我可以示范一下

通常对我来讲一个不是难度很高的预测

我可能5分钟或10分钟我就可以在

Azure Machine Learning Studio整个把实验做好

而且可以把它变成一个Excel的档案

给我需要的同事跟朋友去做使用

除了拖拉式界面之外,也可以把R跟Python的script放进来

去做R跟Python相关更进阶你要去做的资料的处理OK

简单来讲它就是把Data转换成Intelligent action很快的过程

那我先general讲一下说

我们今天要讲的资料转换到决策跟行动的部分

它整个架构上面从传统上面

最早期可能很多你在办公室里的朋友或是同事

你们会用的部分可能是比如说用Excel在做一些报表的分析

然後或者是做一些报表资料整理

那有些更进一步用到Power BI来再去做dashboard的处理

那你可以看到说就是从一些简单的统计资料

用人工的方式去做这样子的流程

然後给决策的单位去看报表资料去做决定

有一些预测的部分你可以透过机器学习做一个推荐的系统

然後做一个决策的自动化,然後转换成行为行动

比如说我今天等一下会介绍的例子是一个

由银行关於放贷的题目

那通常在一般的银行里当call center打电话去联系跟拜访时

他手上会拿到很多匿名的名单

那你在打之前你是不是可以先做一个预测说

我今天打出去的名单

到底这个客户他有没有可能有意愿再进一步去做联系

那过去这个东西有经验的call center专员

他可能大概看一下名单他心里就会有底

可是有一些比较年纪轻的call center专员

可能对於他来讲这件事情就会比较陌生

那资深的同事在这个经验上面要如何去做一个教学跟传达

其实经验这种东西也很难传递

那他其实可以透过机器学习去找出里面重要的一些pattern

去做一个预测的模式

好,所以什麽是机器学习呢?

这句话其实机器学习是很重要的一个概念

就是使用已知的资料建立一个模型去预测未知的事情

我的未知的事情是说我们可以拿过去一年、半年

就是我们在行销系统里面知道说

这个客户联络完之後他到底有没有再跟我们联系

或者是付钱成为我们的客户

过去这半年、一年的资料是我们的已知的资料

这已知的资料我们可以建一个模型

接下来我们可以预测比如说1月的时候我们

下个月的时候拿了100份名单,200份名单或1000份名单

就可以去预测还没有联系的这100份,200份1000份的名单

到底他们有多少的机会是有可能成为我们的客户

所以刚才的例子来讲就是我们用已知的资料

过去半年、一年所观察到的值跟量

观察的状况然後做一个模型去预知

未来要新进来的陌生的名单到底那名单的结果是如何

所以简单来讲模型就是已知的资料加上演算法

它产生出一个模型

所以我们等一下会用Azure Machine Learning Studio

它本身是一个Web UI的base

而且它在不同的浏览器上面都可以去做使用

不管你是用哪一个厂牌的

所以它可以避免比如说你是用程式语言的时候

它会因为你不同的OS可能在装上面package会有一些困难

但在browser base它在处理上面不会有这个问题

而且它可以很简单的把Machine Learning Studio去做分享

给你的同事或其他要一起来做演算法跟预测模型的同事

再来它是一个拖拉的方式

微软在Azure ML Studio里面已经内建非常多的演算法

从Tree到Regression、SVM等相关演算法

它都已经内嵌在里面,所以对於初学者来讲

你不需要知道说哪些package你应该去做使用

你只需要在它的清单里面找出适合你的演算法

把它放进来去做使用就可以了

然後再来是它的扩充性

就是你可以在里面写R跟Python的script

甚至你可以在里面把GPnotebook copy出来

直接就是用GPnotebook上面再写R跟Python

然後再来是它很快的可以让你去做publish

Azure Machine Learning Studio主要的演算法有几个

一个是做分类、回归、推荐、异常侦测,还有集群的部分

然後我等一下会介绍一下

一开始你要怎麽去使用Azure Machine Learning Studio

所以如果有需要你可以扫这个QR code或者是点这个连结

或抄这个连结,你可以连到Azure Machine Learning Studio

然後当你连进去的时候请你注意後面要有个studio

有studio才是提供给图形化界面的的service

那如果後面没有studio的话

原则上它是用Python给一些资料科学家在做使用的

所以连进去的时候它本身有8个小时trial的方案跟

Free Workspace是免费的,然後还有一个是付费的版本

然後我建议大家可以选中间这个Free Workspace

它可以给你10GB的storage,R跟Python的script都支援

再来是它可以……你的帐号建下去之後,你做完相关的实验

它都会存在上面,它不会有任何的时效的限制

当如果你目前做出来的实验

然後你需要做大规模的应用给大规模的人去做使用的时候

你可以去考虑接下来的方案Standard Workspace

它在整个支援还有storage相关的支援的状况是很好的

那如果你今天只是要做实验或者是

你可能只是想要确定一下给一两个人去做使用

确定说这样子的方向对或不对

其实你用Free Workspace就可以了

你点进来之後的页面就是我这边有一个截图给大家看

你点进来页面的时候它有几种选择

一个是有些资料集就是在你的电脑里面CSB的档案

你可以把那个资料集直接从这边选择汇进来

然後当然你也可以做一些实验或notebook的部分

OK那我们等一下第一步会带大家去做一个实验

那怎麽样叫做实验呢?就是在这个实验里面当你打开之後

它会有一个你可以看到这样子的页面里面

它可以把资料放进来、你的模型放进来、你运算的过程

你要怎麽去做你的Data claim都可以把它放在这里面

然後右边的地方是属於它的属性的设定

也就是说在任何的调整主要都在这个地方

左边是有一些快速搜寻的版位,比如说资料集你的模型

然後你要做资料整理的部分,这边有transforms、Data input

下面就是一些常用的机器学习的模型

比如说你的Python、你的R merge的地方在这里

下面就是属於命令列,比如说当你执行到一半

也许需要离开你的电脑,这边可以去做储存

然後你也可以储存另外一个范本

你到时候工作的页面主要是在这样的页面的情况下

那这是studio的一些基本的概念

然後在你处理studio之前需要有一些观念

那些观念我会在这边去做一个简单的带过

然後第一步就是你要先想清楚到底你要问什麽样子的问题

以我刚才提到说就是我今天是一个客服中心

我每个月我都会拿到100个、200个到1000个名单

那我的人手,我的call center专员人手是有限的

那我在有限的情况下我要如何决定

哪些名单是优先去做拨打的这件事情

你可以把它定义成一个问题,我的问题是说

我想要知道在这个名单里有哪些是我优先要拨打

或者是他是有可能成为我的客户的

所以当你问题确定下来之後

你下一步是将你的资料去做整理跟准备

那我等一下也会示范说怎麽样去做整理跟准备

接下来建立完你的模型,重点是需要把你的模型去做应用

所以我等一下也会介绍说你要如何把你的model deploy

model deploy之後模型它会依据

因为它拿的是历史性的资料

所以你可能每隔半年或者是一年市场的状况会做改变

也许以call center在做银行这一块的话

也许经管会或者是证交所有一些规定规矩改变了之後

你过去的模型不一定真的能去做试用

所以你需要重新去调整你的模型

或者是你的客户的状况,你本来call center在做的生意

可能过了半年越来越多银行都加入了

所以那个情境跟半年前的情形不一样

所以你的模型可能要去做调整

这个时候需要去衡量跟追踪你的结果是如何

有时候结果是它的状况预期越来越不好的话

可能接下来要重新去思考说那我们是不是需要去调整模型

然後让我们的模型去做不同的处理

所以它会是一个循环在进行的

那除了刚才讲的内容之外,在微软官方的document里面

其实你可以依据这几个方向去做准备

我们建立一个模型,第一步是拿到资料

拿到资料的方式有很多种

比如说我们今天demo是一个CSV的资料

那你的资料可能是从公司的资料库出来

或你有可能是拿社群上面的资料再做分析跟预测

Azure ML Studio其实都可以把这些资料串进来

再来是你拿到资料之後你可能是拿到社群的资料

你有可能需要加上你公司内部的资料去做一个整合

因为有些客户的行为它是反映在社群的资料上

你需要去做一些整合,所以接下来你需要去准备你的资料

就是把两边的资料合并起来,哪些人会对你来讲是重要的

是会决定说到底哪些人会进到你的模型

这个细节我不会提到太多

如果你有兴趣你需要花一点时间去

可能在微软document上面找一下文件

看一下到底你要如何去决定feature的内容

就是哪些栏位是你要放进来的

然後接下来其实才是选择你的演算法,然後建立你的模型

最後是做一个预测

所以简单来讲这是一个我之前示范过的范例的内容

就是我的资料在这边

它是一个告示牌排行榜的音乐,然後有些单曲进了前10名

有些单曲没有进当年度的前10名

然後我那时候要做一个预测

是预测说新的一首歌进来的时候

它到底有没有机会在当年度进到前10名

所以我前面这个区域都还是在建立模型的地方

就是在Get data、Prepare the data跟Define features

我做了一些资料的整理,比如我选几个重要的因子放进来

那你选择的方式有很多种,有些是用专家的方式来做选择

我知道哪些栏位重要先选进来

然後当然Azure Machine Learning Studio也提供很多的方式

让你去判断哪些栏位是重要的

然後你可以把那些先判断出哪些栏位重要之後

你再把那些栏位放进来去做一个挑选

然後你一定需要做一些资料的整理

比如说一些遗失值或者是一些数值的变更

我从文字要变成数字,我从文字要变成时间

那这边有Edit Meta的部分去帮你去做处理

当你把资料处理好後下一步它提供了一个把资料集分成

需要去做实验的资料集跟测试的资料集

所以这边有Split Data,那我目前采取的是70%跟30%

我分了70%出来在Train的model

然後在这个例子因为我要判断的是yes or no的结果

是否有进前10名,所以我用Two-Class Logistic Regression

那做完之後在这个区块其实都是在训练模型

那我做完模型,我当然想要知道模型的效果是好或不好的

那它有提供Score model跟Evaluate model

所以我把本来模型的结果

剩下30%的资料放进了去做验证去看那个结果到底是如何

然後它也提供一个图形化界面

让你去衡量说到底我预测出来的内容状况是好或不好

所以这是整个大的架构

Azure Machine Learning Studio给了你哪些方便的东西呢?

Scored data的部分就是当你把你的模型做完之後

Azure Machine Learning Studio其实会告诉你说

它评估出来的几率是多少

然後它判断这首歌会不会进前10名0101的结果

它也给你了RC的curve

然後还有confusion matrix也放在这上面

简单来讲当你把模型都抓好之後

这些东西它就是预设准备好让你去做参考跟看

我接下来就做很快的一个示范

示范说实际上如果你今天想要把你的模型

做给客服中心的同事的时候它会是一个什麽样的成果?

我这边有一个范例,想像我们是客服中心

然後我们每个月月初我们都会拿到一个名单

是我们这个月我们需要打电话去拜访的名单

然後对客服中心的专员来讲

我去拜访完名单,我的目的是希望他成为我的客户

那大家知道客服中心的专员其实做联系的失败率是很高的

那对於他来讲就是到底有没有哪些名单是有效的

然後可以先做联系的是很重要

所以你可以看到画面上

正常来讲他可能拿到名单应该是几百个

但我目前demo的名单就是先以7个名单来做demo

所以我拿到名单,比如说银行内部给我名单会有年龄

比如说这一笔是30岁,然後他已婚

他在银行里有没有信用相关状况的记录可能是yes or no

然後他有没有房贷的资料,有没有个人贷款的资料

然後他是透过什麽样的营销方案进来,比如说EDM

或者他曾经在那里留过资料

之前他看完EDM之後,他回应的结果是什麽

有些是我们系统里面并没有他任何回应的结果

有些时候他回应的结果是yes或no

所以这是一个范例说一个客服中心在月初的时候

他会拿到一个什麽样子的

所以我在联系他之前我是不是可以先知道

先预测出说有没有哪些的情况这个名单效果是好的

那我可以优先开始联络联系这些名单

那这件事情我等一下的时候我会demo给大家看说

你可以看到右边我写好了一个VBA

这个VBA其实是直接去call Azure Machine Learning Studio

然後它可以把前面的这些栏位丢到Studio去做预测

然後预测的结果它也可以呈现在後面的这个Excel里面

所以我的目的是希望带着大家知道这个东西应该要怎麽做

所以当你Log in进来的时候

它一开始会问你说你是不是要做一个实验相关的实验

所以我先demo给大家看这边是一个空白的实验集

後面有一些如果你想要学习的话,它有很多不同的范例

所以把这个空白的实验集打开

所以你可以看到这相关的画面

然後我的这个资料我晚一点会提供给大家

它其实就是UCI的资料

然後我已经把资料上传到Azure Machine Learning Studio

所以你可以看到我直接把资料给拖移到画面的中间

你可以去做一些视觉化,让你看到你拿到什麽样的资料

所以我这是过去历史的资料,然後里面有年龄

他婚姻的状况,借款的状况,相关资料还有过去历史上面

就这笔资料联系完之後他到底有没有成为我们的客户

yes跟no

在右边的地方你也可以看到一些简单的汇总的资料

去看比如说yes有多少no有多少

我过去做完的实验

就是你在左边的地方这边有一个experience

就是实验都会在这里出现

然後如果你觉得画面太大或太小的话,可以在这做调整

比如说这边有一个1:1,左边可以让你去做画面的移动

所以我把银行资料放进来之後,我做了一些事情

比如说本来不是categorical的,我把它转换成categorical

如果你对categorical比较陌生的话

这边下面有一些Quick Help

你点下来之後它会连到微软相关的文件

你可以从里面去针对你比较不熟悉的名词去做学习

在这个例子上面我已经决定了哪些因子对我来讲是重要的

右边的这个因子对我来讲是重要

重要因子的调整跟大家之前使用其他系统其实概念是一样

它可以透过左移右移的方式把相关的资料移动过来

所以当你移动完之後按确定

然後你可以看到这边有绿色的勾勾,下面没有绿色的勾勾

有绿色的勾勾就代表说这後面的程式码或这个积木

它已经被执行过了

这个没有绿色勾勾你需要去做一个执行

它已经执行结束了,所以我介绍一下

它有非常多不同的写好的演算法让你去做使用

那因为我现在要判断的是

银行给我的这个名单到底可不可以成为我的客户

可能是可以,可能是不可以

所以它是一种二元式的Two-Class

然後我先demo一下用Two-Class Logistic Regression来做

如果你有兴趣其实也可以换比如说forest和tree

或者是其他SVM不同的演算法来进行去做调整

看看怎麽样的结果你觉得做出来的效果是特别好的

所以我这边有过去历史的资料,这边有我的演算法

我接下来要做我的模型,我要训练我的模型

这边有个Train model

但在Train model之前我需要将我的资料分成两部分

一个是拿去训练模型,一个拿去做验证

然後你可以看到我刚才做任何执行

其实都是把相关的积木拖拉进来

然後它每个积木都有告诉你说它出来的结果

比如说这边他出来两个资料集

因为它是要帮你把资料集去做分割,然後它怎麽去做分割

你在右边的地方可以看到它有不同选项

比如说它是以Row的方式去做分割

或者它用regular expression的方式来做分割

然後它预设分割是0.5,然後我这边是用0.7来做

当然你可以选择你的Random seed,可以做不同的选择

那我在做这个执行之前提醒大家

如果在你的画面上看到惊叹号的时候

就代表说它在整个流程上面会有一些错误

在这个状况为什麽有些错误的地方是

你要训练模型它其实需要知道你到底要训练什麽样的内容

可是我没有把之前的资料接进来,所以它会有一个惊叹号

那你这时候其实比较简单的处理方式

我先把它移除掉然後我先把其他的东西处理完

所以我这边做一个执行把资料移过来

然後你要告诉它说你要预测什麽

在这个情况下我要预测说他到底会不会成为我的客户

因为它需要一点时间,所以我先demo一下说

这是我之前做完的内容

所以我把Score model加进来之後你可以看到

它拿剩下30%的资料去做了预测的结果

然後有些的情况它预测说

比如说这个实际上历史资料上这个名单有成为客户

我的预测的结果也是他有成为客户

所以你可以在Azure Machine Learning Studio里面看得到

在Scored dataset里面它会把结果产生出来给你

然後产生出来给你後这边可以看到有个Set up web service

OK所以选择完之後它会帮你去做一个预测的experiment

那这个experiment的内容可以帮你做出来一个Excel的档案

这是我到最後做出来的结果

可以看到它可以依据你Excel的版本比如说2013、2010

就是你可以做一次一个request response

或者是你可以一次性把结果汇出来做处理

不过我提醒一下就是目前的Excel下载下来是一个聚集

就是它帮你把聚集都写好

然後目前它在Windows OS上面run是没有问题

然後Mac的部分这一两年RowMap在Mac上面跑

那Excel目前是没办法

那也许在今年或明年的时候他们在开发之後是有机会的

所以当你把档案下载下来之後,你可以想像说

你把聚集开好,你可以告诉它说你的资料在哪里

我目前的资料是到G7的部分OK

然後它会问你说我需要把预测的结果放在哪里

然後我预测结果放在J3,所以你按一下Predict

你有没有看到它就把结果都预测出来给你

对於你来讲在办公室可能我是一个Excel的power user

可能要我去写一个Web service去给其他的同事来做使用

其实难度太高,那公司不一定有资料科学家可以帮助我

那你其实可以用Azure Machine Learning Studio

去尝试来做一下你自己的预测的内容跟结果

这是一个开端所以我接下来也分享一下说

如果你今天是一个资料的科学家

你把相关的内容写完之後它其实也帮你把

这是R的code你可以把它接Shiny

然後这是我们之前在做另外一个运用的时候

把它接在Shiny的App上面

我们这是铁达尼号的预测

然後这个Shiny的App created to R-Laides

你可以看到我把不同的资料汇进来的时候它可以

你做不同的选择它可以帮你预测说

这个乘客比如她是一个女性42岁

然後她登上了铁达尼号之後她买多少等级的舱等

然後在铁达尼号上面就是它到最後是活或是死

然後你可以看到它其实就是一个Web service的demo

我到时候这个投影片会给大家

所以你兴趣看这个成果是如何的话

你可以点一下这个URL看一下这个结果的内容

好我最後要跟大家分享一下说

就是因为这是给新手,所以新手一定会有很多自学的需求

所以如果你要自学的话,它其实有很多的管道帮助你

点进来的时候你可以看到这边有很多sample

你可以从第1个sample开始学甚至这边有手写辨识的部分

然後另外你有兴趣也可以找一下Intelligent Gallery的部分

其实在Gallery里面有很多,比如说这个是预测飞机误点

还有不同的时间它都会放上来

这是你点进来之後你会看到它里面的内容

就是它会告诉你说我这个实验里面做的是什麽

然後它直接跟Azure Machine Learning Studio串接

所以你点出来之後它会直接有Azure ML Studio的实验

资料集的内容也都在里面OK

所以这是一个很好学习的管道

然後我最後也附上微软出的一个Algorithm Cheat Sheet

所以如果你有兴趣的话,你可以参考一下

去分说如果你今天要Predict是值,Predict是数字的时候

它会推荐你用哪些演算法,那有些演算法速度很快

有些演算法很准,但它很耗资源

其实它也有简单帮你去做一个分类,让你有一个起手势

好所以我今天讲Youtube视频的内容大概是这样子,谢谢大家。