挑选命题的要件 | ML#Day4

过去那一段时间,直到感受做不出明确的实作成果,和夥伴才意识到题目有问题。

经验整理一下,或许可以用几个面向来决定我们的题目:


1. 结果的资料型态:

连续型资料v.s离散型资料

这取决於你想要的是一个数值结果,还是Yes or No 的答案。

数值的结果基本上会是一种连续型的资料,譬如说预测老板明天会几点进办公室,可能9:01分,可能九点02分,或者9点03分。

更精准的数值,也许是9:01:00,也许是9:01:01,甚至9:01:01.234等等,换而言之这就不会有标准答案,我们只需要的一个可以接受范围内的答案。

或者预测房屋总价,假设有个物件在800万上下,802万,805万,820万等等其实意义不大,我们只是需要个大概的价钱。

一方面,因为是数学公式运算,得到的解若非精准一模一样,在数学上就是不正确,因此这种题目的答案可以说一开始就没有完美解答,只有误差范围在一定的程度之下的答案。

离散型的答案,譬如说对/错、是/否、猫/狗辨识等等,彼此个体差异有明确的界线,比起数值的加减乘除,你在意的是能够分界的参数。

这两种不同性质的结果,会影响到参数的取用,以及模型的选定。


2. 范围的大小

范围越大,问题会越复杂,所需要的参考参数也会越多,甚至会需要因应不同的情境而调整(换句说问题复杂到考虑各种情境)。

而一个参数,就可以想像成一个维度,试想人类生活在3维空间,感受到4维的流动(时间),4维以上已经无法用图像表示模型的运作处理,只能用数学表示,可知道对於理解的直觉上会有诸多不便。

因此题目的大小,一方面可以用需要选用参数多寡,作为检视题目难易的一种参考依据。


3. 情境的定义

题目可以是开放式的问题,或者天马行空的想像,不过答案越肯定与切确越好,最好每个人听到这个问题都有共同的认知与定义,ML才越有机会做下去。

举例来说,题目定义「抓出违反交通规则的行为」,什麽是违反交通规则?答案无法在短时间得出,而且有模糊边界,答案基本上有分歧的状况之下,这个题目有非常高的复杂度。

但是题目简化一下,变成「抓出闯红灯的行为」,问题简单多了吧?不过也因此我们当初太大意了,认为这样的题目已经简略到可以处理,其实却还是太过拢统。

闯红灯也许是汽车、机车、脚踏车、行人、甚至一只狗、另外是不是要排除救护车、警车、消防车的通过,通过两个直线的红灯才是我们关心的问题,或者违规在红灯时回转,也是我们关心的问题呢?

诸如此类,题目能够精简,入门的障碍在开始之前就能够排除一大堆。

当然就会开始碰到现实面的问题,太简单的问题,对商业产出是否有意义呢?是否能够说服你的老板进行项目?


4. 会必然发生的事件

以猫狗辨识来说,这世界上有猫有狗,进行ML就不太困难。

但你要预测世界有没有外星人,或者经过几年後,我们会跟外星人有一次清楚的文明交流,问题就相当困难。

现实层面上,你要预测电商每天会有多少订单量,比起预测明年双11办活动的时候,会有多少订单量还来得容易。

每天的订单量在你每次训练完模型,或者参数调整完,马上就可以验证与调整。

办活动的订单量却在明年活动结束之前,都不知道结果如何。

我们常说机器学习,就是一直在训练模型,所谓「训练」真的不是随便说说而已,需要反覆进行无数次的调整,要怎麽调整又是基於前次的不好而改变,如果不知道结果好坏,又该如何调整?

所以基於成本效益,能够短时间验证我们训练结果的题目才是好题目,如果没办法确定的事情,就先放一边去吧。

又譬如说你想要做一个侦测骇客攻击的AI模型,除非团队有能力自行制造情境,否则你怎麽知道骇客什麽时候会来攻击系统,好验证你的训练模型呢?

以上大概是这阵子来的血泪心得,我们的题目在前两次都选择不够好。


<<:  Day4-丛集是在集这个 Node介绍

>>:  Day02 - 随意玩之工欲善其事,必先利其器

STM32的开发生态,Cube、HAL库、LL库

这个分享适合刚入门STM32的新手,快速了解STM32的开发生态 我昨天最後讲到我个人建议从标准库学...

DAY28 - EDM切版

还有一种类型的切版,是EDM切版, EDM切版是什麽呢? 指的就是信里面看到的版面,像是下面这个就是...

[Day12] 介面篇 - 显示血条2

manageGaugeVisibility方法 bitmapHeight方法 bitmapWidth...

虹语岚访仲夏夜-11(专业的小四篇)

第三?  第二道墙那边,没什麽变化啊... 真是奇怪,R呢? R走到了灯塔的另外一边,另一边有什麽吗...

(Day29)第三方套件---图表套件Charts(上)

Charts 官方网站 https://github.com/danielgindi/Charts ...