



8月14日,由少兒AI教研部總監(jiān)郭鐙鴻老師,為大家?guī)砹说诙弥袊賰壕幊坦?jié)的第七期大咖講座《編程中的數(shù)學(xué)》,整個講座從數(shù)學(xué)在人工智能時(shí)代的重要性入手,剖析了數(shù)學(xué)和編程的密切關(guān)系,通過編程知識系統(tǒng)地解讀了學(xué)編程有助于數(shù)學(xué)學(xué)習(xí)能力的提升,讓家長和學(xué)員們收獲頗多,對學(xué)習(xí)編程有了更深入的概念,也為孩子的未來發(fā)展指明了方向。
郭鐙鴻老師在直播間
★ 講座概要 ★
① 半斤八兩與編程中的進(jìn)制
② 一切從“0”開始
③ 余弦定理和新聞分類
④ 神經(jīng)網(wǎng)絡(luò)中的數(shù)學(xué)基礎(chǔ)
01
半斤八兩與編程中的進(jìn)制
半斤八兩這個耳熟能詳?shù)某烧Z,往往用來形容兩個事物不相上下,實(shí)力相當(dāng)。但為什么半斤和八兩是一樣的呢?后如果把這個問題放到計(jì)算機(jī)編程中來看就能夠理解了,其實(shí)這個成語是一個很酷的數(shù)學(xué)問題——進(jìn)制。
進(jìn)制是什么?我們舉個例子。提起十二這個數(shù)字時(shí),我們第一反應(yīng)是它應(yīng)該寫成“12”;而在羅馬數(shù)字中, 十二應(yīng)該寫成“XII”,其中X表示10,I表示1,II表示2。如同十二寫成12或XII, 數(shù)字有著各種不同的計(jì)數(shù)法,12是阿拉伯?dāng)?shù)字的計(jì)數(shù)法。這種阿拉伯的計(jì)數(shù)法,我們一般稱之為10進(jìn)制的計(jì)數(shù)法。
所謂10進(jìn)制, 便是逢十進(jìn)位的意思, 比如十進(jìn)制只有10個數(shù):0,1,2,3,4,5,6,7,8,9。9以上到了十,就是進(jìn)一位,就是10。而10就不是一個數(shù)字了,而是由兩個數(shù)字組成。
如下圖所示,用十進(jìn)制拆解3508這個數(shù)字,則3表示 “1000的個數(shù)”、5表示“100的個數(shù)”、0表示“10的個數(shù)”、8表示“1的個數(shù)”。
既然可以有10進(jìn)制,自然也可以有8進(jìn)制。按照10進(jìn)制的方式,8進(jìn)制就是逢八進(jìn)一,所以應(yīng)該是這樣:0,1,2,3,4,5,6,7,到8時(shí)就是寫成10,因?yàn)橐姷?,就得進(jìn)位了。所以8進(jìn)制的10,和10進(jìn)制的8相等。8進(jìn)制的11,就和10進(jìn)制的9相等,八進(jìn)制的12,就是十進(jìn)制的10相等。
以此類推,可以存在任何進(jìn)制,但通常十六進(jìn)制比較常用。我們來看看十六進(jìn)制,0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F……其中,A等同于十進(jìn)制中的10,B等同于十進(jìn)制中的11,而到F時(shí)需要進(jìn)位成10,等同于十進(jìn)制中的10。
我們回到上文提到的半斤八兩問題,古時(shí)的十六兩秤就是用的十六進(jìn)制原則,因此“半斤=八兩”。
為什么學(xué)編程時(shí)學(xué)了進(jìn)制呢?因?yàn)?span>計(jì)算機(jī)保存數(shù)據(jù)為了便利使用二進(jìn)制,因此二進(jìn)制中我們只能看到數(shù)字0和1。
計(jì)算機(jī)中大量使用集成電路來處理數(shù)據(jù)。集成電路是由非常多的三極管組成的,如果一個三極管通電了,那么它代表1;不通電了,則代表0。
比如我們要保存一個數(shù)據(jù)5, 那么它轉(zhuǎn)換成二進(jìn)制就是101,用三個三極管就可以表示了,第一個三極管有電,第二個沒電,第三個有電。
計(jì)算機(jī)可以把符合人類閱讀習(xí)慣的十進(jìn)制利用程序轉(zhuǎn)換成二進(jìn)制,但是字符A、B、C……漢字、圖像又如何用二進(jìn)制表達(dá)呢?計(jì)算機(jī)有一套自己的計(jì)算系統(tǒng),我們稱之為字庫,當(dāng)輸入相應(yīng)指令時(shí),計(jì)算機(jī)會調(diào)用相應(yīng)的字庫,比如英文字母A是通過堆疊A的圖形來實(shí)現(xiàn)的。
02
一切從“0”開始
0在數(shù)學(xué)中起到至關(guān)重要的作用,有了0才可能有復(fù)數(shù)。0在數(shù)學(xué)中可以是占位符,在音樂中可以代表休止符等等……0的重要性還體現(xiàn)在可以使任何問題簡單化,在編程中,數(shù)組的下標(biāo)往往是從0開始的。
通過余數(shù)是否為0,可以將數(shù)字進(jìn)行分組,如下圖所示。
對此,我們可以引申思考一個問題——如果今天是星期天,那么100天之后是星期幾?這個問題是編程中對日歷相關(guān)問題處理時(shí)會經(jīng)常遇到的,解題思路如下圖所示。
但在計(jì)算機(jī)中,我們可以用更簡單的方法——使用余數(shù),可以將100個數(shù)除以7取余分成7組來判定,即余數(shù)為0時(shí),代表100天后是星期日,余數(shù)為1時(shí),代表100天后是星期一……余數(shù)為6時(shí),代表100天后是星期六。
下面出一道稍微有點(diǎn)難度的題,大家可以根據(jù)提示思考,能理解了這個問題,就說明你已經(jīng)完全掌握規(guī)律啦!
03
余弦定理和新聞分類
目前,大部分的新聞內(nèi)容都由人工智能程序來寫的。因此,媒體需要利用余弦定理來進(jìn)行新聞分類,把財(cái)經(jīng)、體育、娛樂等不同類型的文章對號入座。
如下圖所示,計(jì)算機(jī)是讀不懂新聞的,則會將文章通篇拆解為無數(shù)個漢字詞,根據(jù)其出現(xiàn)的頻率不同,呈現(xiàn)出不同的TF-IDF值,并用向量來表示每一篇文章的數(shù)據(jù)。如果兩條向量的夾角越小,說明兩篇文章的相似度越高,用詞越接近。
而計(jì)算向量夾角,則會用到數(shù)學(xué)中的余弦定理。
04
神經(jīng)網(wǎng)絡(luò)中的數(shù)學(xué)基礎(chǔ)
神經(jīng)網(wǎng)絡(luò)與人工智能息息相關(guān),而人工智能中的絕大多數(shù)分支都與數(shù)學(xué)為基礎(chǔ)。因此,學(xué)習(xí)編程能幫助我們深刻理解數(shù)學(xué)中的概念。
舉例來說,神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元工作原理,可以簡化為數(shù)學(xué)方法表達(dá)。
愛因斯坦說過,“宇宙最不可理解之處是它居然可以被理解?!边@是因?yàn)槲覀兊纳钪兴龅降暮芏喱F(xiàn)象都可以用數(shù)學(xué)和編程方法來進(jìn)行拆解從而理解的,這也正是數(shù)學(xué)的迷人之處,編程的迷人之處。