自动发货>收到卡密后>用"QQ登录"方式到本站>在线充值它
资源导航
当前位置: 博学网 >音频讲座 > 得到知识

【建立模型】如何把现实映射进计算机?

  • 视频资源大小:65.0 MB 更新时间:2021-09-22 09:22:25
  • 类型:百科讲堂 观看方式:百度网盘

  • 类别:音频讲座 > 得到知识 Tags:
  • 提醒:开通VIP会员全站免费学 推荐星级:

资源简介:

【建立模型】如何把现实映射进计算机?

建立模型:如何把现实映射进计算机

我们之前介绍了怎样设计一个算法,用算法解决问题的一般步骤。先要明确问题的方向和边界,建立数学模型,再找到合适的算法。

在这个过程中,建模非常考验算法工程师的水平,数学模型无法描述全部客观现实,这就需要算法工程师做出取舍,找到最贴合现实问题的数学描述。我们来具体说说怎么建立数学模型。

拿一个问题来举例,假设现在我们要预测100年之后的地球人口总数,该怎么建立模型呢?

还是分成三个步骤来说,第一步,确定假设;第二步,验证模型;第三步,权衡可行性。

1 确定假设

先来说第一步,确定假设。

像人口问题,现实中影响它的因素非常多。

比如说,各个国家的变化有很大差别,印度增速非常快,日本就很慢。不同的历史时期,人口增速也不同。前几十年,中国施行计划生育,人口增速就会变慢,现在放开了二胎,增速又会变快。两次世界大战,也让世界人口大规模减少,这些问题是否都要考虑呢?

再有,观念变化也会影响。现代社会很多人选择丁克生活,不生孩子,这些人比例有多少呢?中国乡村受到传统观念的影响,希望能多生孩子,这些数据和变化要不要考虑呢?

这么多因素,建模的时候一定不可能全都考虑,那哪些该考虑,哪些该舍弃呢?这就需要先确定假设。

我们先要搞清楚,需要得到一个什么精度的预测结果。如果我们想要的精度很低,那只需要一个简单、容易计算的模型。这时候,我们就需要对问题进行最大程度的简化。

比如咱们可以假设,像是一战、二战这样的大规模战争,在未来100年不会发生。还可以假设,像计划生育这样对人口有重大影响的政策,在未来100年不会发生。

这些假设当然是不合理的,没人能为这些做出担保,但舍弃这些变量可以大大简化模型。

当然,还可以再简化,各个国家的观念、社会影响,咱们都不考虑,就把全球人口总规模看成一个整体,只盯着这一个数据。

再进一步,咱们可以假设全世界人口增长速度不变。过去20年,全球人口增长了30%,那么假设未来每20年,世界人口也增长30%。这样的话,我们就把世界人口发展描述成了一个指数增长模型。

有了这个模型,我们就可以对全球人口进行预测。

但如果对精度要求非常高,就不能这么干了,各种复杂的因素都要有所考虑。联合国人口司是对世界人口走向进行预测最权威的机构。他们的模型建立得就非常精确。

他们通过数据分析,发现大部分国家的生育率大约都经历三个时期:高生育率期,从高生育率到低生育率的过渡期,以及低生育率期。联合国人口司追踪每个国家所处的时期,并对它们将来的人口增长率进行假设。

不只如此,他们还把死亡率、人口迁移、寿命的延长等等因素都考虑进模型中来。最后通过数值模拟,估计到下个世纪初,地球上的人口会达到109亿。

确定假设,其实是一步步确立重要变量、核心关系的过程。舍弃不重要的细节,把模糊的问题,明确化、量化,这样就把一个复杂的现实问题,转化成了计算机可以理解,算法可以处理的数学问题。

2 验证模型

模型有了,我们怎么知道这个模型是不是靠谱呢?这就需要进行第二步,验证模型。

按照刚才的假设,人口规模会呈现指数增长。指数增长速度是很快的,全球人口过不了多久,就会多到地球都承受不了,这符合现实吗?

我们换一个思路,再提出一个假设:人口的增长速度总是先慢再快,然后再慢,最后趋近于零。也就是说,虽然人口会不断增加,但之后增加得非常慢,最后人口总量会趋于一个稳定值。这个模型,叫逻辑斯蒂增长模型。

你认为哪个模型更贴近现实呢?常识就可以告诉你,一定是第二个。

如果常识验证不了,还可以用不同的方式来验证模型的可靠性。

比如,把两个模型都放在过去的某个时间点,看看它们对后来世界人口的发展,谁预测得更准确。又比如,我们可以把它们使用在国家层级的人口上,看看谁对国家人口的估计更准。哪个估计得不准确,就把谁淘汰掉。

那模型的验证是不是就总有固定的方法呢?

不一定。有时候需要有些奇思妙想,打破常规思维才行。讲一个科学史上发生过的,验证模型的“惨案”。

当时在中世纪,科学界最大争论就是,太阳围着地球转,还是地球围着太阳转?“日心说”和“地心说”,是人们认识世界的两种模型,那怎么验证谁是谁非呢?这就不得不提两个人,第谷和开普勒。

先说说丹麦天文学家第谷,那可是个非常厉害的人物。

他是个贵族,却对用数据进行天文学研究,充满了热忱。1576年,丹麦国王为了支持他,送给他一座岛,还耗资一吨多黄金为他建造了一座天文台,那是世界上最早的大型天文台。

从此,20多年,第谷风雨无阻观察恒星和行星的运动轨迹,他对星象的观测精度,几乎接近肉眼分辨率的极限。就这样,第谷拿到了大量的一手天文观测数据,各个星体的位置记录精确到每天。

结果呢,他看不懂这些数据,没有发现规律,既不能验证“地心说”,也不能验证“日心说”,一无所获。

想不到的是,他的助手开普勒找到了答案。开普勒在第谷死后拿到了第谷毕生的数据,靠着分析第谷的数据,验证了“日心说”模型的正确性。他还提出了著名的开普勒三定律,开启了近代天文学。

怎么开普勒就能成功,第谷不能呢?其实就在于,他们验证模型的时候,用的时间尺度不同。

第谷用的数据,以“天”为单位,数据量太大,发现不了规律。开普勒以“年”为单位,数据量大大减少,分析起来简单好多,当然也就更快地找到了规律。

所以说,模型的验证不是一成不变的,我们得从多角度来论证,有时候还需要点儿奇思妙想。

刚才说的这些都是验证模型的思路,通过不断和现实问题做比较,我们可以迭代出更合适的模型,把现实问题尽可能无损地映射进计算机里。

3 权衡:要贴近现实,也要容易求解

到这里,我们已经完成建立数学模型的任务了,但好的算法工程师还有一项任务要做,就是权衡,在模型的准确性和实现成本上进行取舍权衡。

比如预测人口问题,联合国人口司的模型显然最科学、最准确,那是不是意味着所有人在解决这个问题上,就都要采用这个模型呢?不一定。

一个模型是不是最优选择,不仅要看模型是不是靠谱,还要看是否能实现。对准确性要求高,通常就意味着变量多、逻辑复杂、数据不可得等困难。如果没有联合国人口司获取数据的能力 ,那么简单一些的逻辑斯蒂增长模型可能就更适合。

同时,一个复杂的模型对算法也提出了更高的要求,要么是成本上的,要么是复杂度上。复杂的模型或多或少,都带来更复杂的解法。

比如,同样是对股票价格进行预测,我们可以用简单的线性回归,也可以用深层神经网络模型,但是求解难度上就差太多了。

打个比方,不同的算法,好比是不同的画家。你让一个三岁的小画家,和达·芬奇排排坐,坐在一起画一位贵妇人。小朋友画出来的就是一堆“鸡蛋和油条”,鸡蛋是脑袋,油条是胳膊。那达·芬奇画出来的就是《蒙娜丽莎》。

小朋友对图像的认知很简单,所有物体都被简化成了圆圈和线条,那画起画来,完成画作也不是那么难,三分钟就能完成。这就好像是线性回归模型。

达·芬奇对图像的认知非常细腻,什么是透视,什么是人体结构,都搞得清清楚楚的。他画出作品,当然要花更多的时间和精力,能画出“迷之微笑”也需要更复杂的技巧。

这就像是神经网络模型,模型的结构复杂,能捕捉的细节多,但求解起来就更难。

所以说,虽然模型的选择过程存在主观性,没有统一的标准说怎样才是最好。但它有一个底线,那就是模型必须能求得有效解。

如果你的模型需要没有的数据或者没有有效的算法解决,那么模型再好,逼近现实问题程度再高也没用。在解决问题的时候,不能光追求模型准确,还要权衡它的可行性高低,最终找到一个又能准确描述现实,又能有效求解的模型。

划重点:

1建模就是把复杂的现实问题,转化成数学语言的过程。

2算法工程师会遵循三个步骤,不断迭代找出最合适的模型:

(1)确定假设,找到核心变量和关系,舍弃不重要的细节,把模糊的问题,明确化、定量化。

(2)验证模型,不断和现实问题做比较,验证模型是否足够贴合现实问题。

(3)权衡可行性,找到一个又能准确描述现实,又能有效求解的模型。

本软件是会员软件,如果你是会员,请登陆。如果不是会员请注册

本月排行

  1. 1【施展】中国史纲50讲

    9.7 GB

    45656567次浏览

    百科讲堂

  2. 2【老喻】老喻的人生算法课

    1.94 GB

    678798935次浏览

    人性心理

  3. 3【逆袭学院】普通人逆袭指南50讲

    9.7 GB

    5465469次浏览

    成功致富

  4. 4【高考志愿】高中升学规划与高考志愿填报(家长必听)

    4.65 GB

    4645664次浏览

    教育培训

  5. 5【高考志愿】填报必听课全套

    5.53 GB

    3453453次浏览

    教育培训

  6. 6【高考志愿】五分钟了解各个大学简介

    6.72 GB

    4645646次浏览

    教育培训

用户评论

   

评论摘要(共 0 条,得分 0 分,平均 0 分)



用户名:

分 值:100分 85分 70分 55分 40分 25分 10分 1分

内 容:

通知管理员