对于 a i 的建模来讲,有一个非常重要的概念叫做基准,英文叫 baseline, 而且我们真的在工艺界里面去建模的时候,我们一定要重视这个 base line, 那什么叫 base line 呢? 啊?举个例子,假设我想解决一个问题,比如说我想搭一个推荐系统。好,那我们的目标呢?就是搭一个比较好的推荐系统,就是准确率比较高的。 好呢?搭建推荐系统我们可以采用的方法是比较多的,比如说我们可以采用一个比较简单的模型,或者我可以采用一个比较复杂的模型,所以我可以通过一步步的方式,从简单到复杂的过程去做这个事情。 那什么叫贝斯兰呢?那我们所谓的贝斯兰就是我可能一开始我先搭一个非常简单的一个模型,比如说我们使用一个逻辑回归来搭一个模型, 那这个时候我们可以把逻辑回归当做是一个背词来,我们用逻辑回归模型来验证它的效果之后,假设它的效果是可能是百分之六十的准确率。好,那接下来呢,我再通过稍微复杂的模型一步一步去把它优化掉,所以 这个时候基准起到了一个非常重要的一个作用。那为什么在这个情况下基准这么重要呢?我就有几个原因啊。第一个,第一个主要的原因是基准可以让我们在非常短的时间内可以帮助我们验证咱们模型的效果。 比如说很多的时候我们可能遇到了一个新的问题,那这个时候呢,可能我们会有一些疑问,我们到底能不能解决他 就这个问题是是一个能解决的还是不能解决的?所以我们说我们需要做一个可行性的一个分析,那为了在非常短的时间内验证出可行性, 我们可以使用这种基准来去做。所以一般我们假设使用一个基准的话,那可能在一天一天之内,或者是甚至可能啊,可能更短的时间内可以把这个问题可以验证出来,所以这个基准非常重要。但如果相反,我们一开始直接使用一个很复杂的深度学习模型,你可能需要花 可能一周的时间,或者甚至更多的时间也未必能把它搭建起来,即便搭建了,可能有可能存在非常多的一些 bug, 而且我需要不断的去修复 bug, 我才能把它真正的跑起来。基准的重要性还体现在另外一个事情上,我们来看一下,我们假设来解决一个具体的问题, 然后呢? x 轴表示的是一个模型不同的模型,然后呢? y 轴在这里表示的是模型的效果,假设这个模型的效果用一个准确率来表示吧。好,那首先呢,我们使用了一个基准 叫做逻辑回归,所以我们使用的是一个一个基准模型,叫逻辑回归。然后我们通过逻辑回归呢,得出来的一个结论是,它的效果可以达到什么标准呢? 他的效果可以达到百分之,比如说六十九的准确率,零点六九。好,那做完之后,接下来我们使用一个稍微复杂一点的,那比逻辑回归稍微复杂一点的,我们有一个模型呢,叫做 支持下量机,叫 svm。 那逻辑回归我们用一个 l r l r 来表示它,它的一个简写, 然后通过知识项链机呢,我们做出了一个一个模型,然后他的效果可能是在哪呢?可能在 零点七二,比他稍微高了一点点,这是我们支持项链机的一个结果。 然后下面我们再使用一个稍微复杂一点的纳米,它稍微复杂一点的可能是啊,假设我们使用了神经网络,这个叫 new row network, 叫神经网络。 那使用神经网络之后呢,我们发现他的准确率大概在哪呢?大概在零点七幺,所以我们可以画一条线, 然后零点零点七幺 这个点的准确率。然后下面啊, 我觉得我们再尝试一个比较复杂的模型吧。那,呃,可能尝试了一个,这是一层的神经网络,所以我们在深度学习里面里面会讲到这些细节。那在这里使用的模型呢?叫做一层的神经网络。好,那接下来呢,我再使用,比如说多层的神经网络吧,那这是 多层的神经网络,然后呢,结果发现, 结果发现我们的准确率可能还是维持在零点七幺二这样的一个区间, 那这个说明什么问题?我们可以把这条线可以连起来, 所以从这条 里面可以看得到我们的模型的准确率是在一步一步提高的,但是在一步步提高的过程里面,我们也可以看得到他的一个上限在哪。 我们可以把这条线呢可以画出来,那画完之后呢,你可以发现这条线的趋势可能是类似于这样的,所以从这个趋势我们至少可以大概的判断出,那上线可能是这样的,对吧?那上线可能这样的,那这个图里面可能上线是零点七二,有可能是他的一个上线, 所以这个上线为什么这么重要?我们可以有几个重要性。第一个通过这个上线,我们可以决定要不要持续尝试更复杂的模型? 因为我们尝试完他之后呢,其实已经发现了我们的准确率可能上升没有那么快。 所以我即便使用更复杂的模型,比如说我接着再做,那有可能我们还是突破不了零点七二的这个上限。 那所以这个时候呢,从公司的角度来讲,我们会做一个决策,比如说我要不要去买更多的机器,然后呢来搭一个更复杂的模型,比如说我们逻辑回归呢?我们训练一天,好,那我现在搭一个更复杂的模型,我可以用,我可以用这个模型来训练两个月,值不值得? 这个时候我们从公司的角度来讲,可以去测算他的一个投入产出比的,那这是第一个作用。那第二个作用呢?就是 很多的时候刚才也说过,可行性分析对我们 ar 的应用来讲非常重要,而且我们任何的程序,任何的应用,我们首先需要做一些可行性分析的。我们举个例子,比如说我们想做 做一个医疗领域的一个图像识别,比如说让 a i 自动去诊断一个图片,来看一下这个医师这个患者有没有得病。那对于医疗领域的场景来讲,我们对准确准确率的要求是非常高的, 所以当我的准确率可能没有达到百分之或者是百分之九十五或者九十六的时候,那我这个系统可能就没有商用,没,不能,不能商业化了。所以我的意思呢,就是说不同的应用场景有他的一个门槛, 比如说无人驾驶,如果我的准确率还不到百分之零点九九九九九,那这个无人驾驶车是没有办法上路的,所以每个场景呢,他有他的一个门槛,所以通过这种方式,我们基本上可以看到一个 门槛的。那假设我们回到刚才推荐的例子,那我们贾定设置了我这个应用场景呢,可能需要零点七五以上的准确率,我才能商用化,商业化。 那从这个结果可以看得到,哎,我的上线可能就在零点七二了,那这个时候我们就要决定了,我要不要做这个项目, 对吧?因为从这个简单的测试里面可以看得到,我可能再花很多的时间也未必能达到零点七五以上的准确率, 对吧?那这个时候可我们可能会做一个决定,比如说,哎,我干脆就不做这个项目,我来去定一个另外一个项目来做,因为我从这个图里面可以很难看到,对吧?我能达到一个预期的结果的,所以这是一个贝斯懒教基准的一个非常核心的作用。 所以任何的项目我们一定要先尝试机准,千万不要去尝试,比如说复杂的模型, 一定要一定是从简单到一个复杂的过程。那另外呢,基准的一个重要性啊,其实也体现在体,体现在这个地方,比如说我们先尝试了一个非常复杂的模型,比如说神经网络,或者叫深度学习模型,然后我们没有去尝试这些简单的模型, 那这个时候我们会发生一个问题,就是这些复杂的模型本身是很难去挑餐的,也就说很难去训练的。假设我在构建模型的时候呢啊,做了一些,犯了一些错误, 可能这个错误呢会导致我的模型的准确率没有那么高,那这个时候我们甚至都不知道哪里出错了。假设我得到了一个准确率,比如说我跑了一个深度学习,得到了一个准确率 叫零点六七,那对于我们来讲,我们根根本可能不知道是我们训练训练的不对,还是哪里出错了。 但是如果我们已经训练好了这些基本的模型的话,那假如我们通过深度学习得到的准确率在零点六七,那这个时候我们一定会知道可能哪里出错了,我们在 训练的时候可能没有写好,因为我有一个基准,对吧?我有个参考值,所以有参考值之后呢,我们是很容易定位到某一个问题上, 所以这是基准的一个一个,他的一个一个优点。所以最后呢重要的事情说三遍。任何的 ai 的建模一定要重视基准,从基准开始来搭建, 就是任何的 ai 应用一定要从基准开始搭建,这是我给大家的一个非常强烈的一个建议。