博客專欄

EEPW首頁 > 博客 > 如何像算法工程師一樣,看待這個(gè)世界?

如何像算法工程師一樣,看待這個(gè)世界?

發(fā)布人:數(shù)據(jù)派THU 時(shí)間:2021-07-16 來源:工程師 發(fā)布文章

大數(shù)據(jù)文摘作品

作者:諸葛越

來源:《未來算法》

盛夏來臨,又到了畢業(yè)季。每年的秋招,互聯(lián)網(wǎng)和科技大廠的應(yīng)屆生薪資基本都是應(yīng)屆生們最關(guān)心的問題。良禽擇木而棲,應(yīng)屆生在選擇第一份工作的時(shí)候,除了平臺(tái)自身水平與職業(yè)發(fā)展前景之外,薪酬也是非常重要的參考因素。

CSDN論壇里,一篇2021屆互聯(lián)網(wǎng)大廠薪資對比帖顯示,算法工程師一職當(dāng)屬最炙手可熱的崗位。其中,一些拿到special offer的算法應(yīng)屆畢業(yè)生居然可以拿到高達(dá)60萬的年薪!

1.png

互聯(lián)網(wǎng)大廠新入職員工各職級(jí)薪資對應(yīng)表(技術(shù)線) 圖片數(shù)據(jù)來源:知乎

算法,這個(gè)聽起來高深又晦澀的概念,仿佛逐漸支配了我們?nèi)粘I畹姆椒矫婷?,依托這個(gè)概念而衍生出的工作行業(yè),也逐漸成為兼具“前途”與“錢途”的香餑餑。

其實(shí)要搞清楚“算法”為什么值錢,看看我們的日常生活就知道。從早上出門打車用的打車軟件、導(dǎo)航軟件,上班用的電腦、文件和在線工具,點(diǎn)外賣咖啡的App(應(yīng)用程序)和快遞調(diào)度,到手機(jī)支付,孩子上的網(wǎng)課,在淘寶、京東購物,看微信,刷抖音,用語音助手,和機(jī)器人聊天,這些行為背后全是強(qiáng)大的算法在操縱。

未來是人和機(jī)器一起仰望星空的時(shí)代,而算法是打開未來世界的鑰匙。普通人需要深度了解算法嗎?答案當(dāng)然是肯定的。或許你已經(jīng)聽倦了“我們生活在算法操控的時(shí)代”這樣一種說辭,那以下的幾個(gè)生活場景,會(huì)讓你意識(shí)到將算法思維為我所用是多么重要。

可以被算法優(yōu)化的生活場景

時(shí)間管理大師

最近幾年,“時(shí)間管理大師”一詞逐漸走入大家的視野中,一開始只是用作調(diào)侃,但放在認(rèn)真生活的語境之下,提升時(shí)間管理效率其實(shí)是許多職場人的必修課。世界著名的“艾維·利時(shí)間管理法”教會(huì)上百萬人如何利用“優(yōu)先級(jí)”管理自己的時(shí)間:

(1)寫下你明天要做的6 件最重要的事。

(2)用數(shù)字標(biāo)明每件事的重要性次序。

(3) 明天早上第一件事是做第一項(xiàng),直至完成或達(dá)到要求。

(4)然后再開始完成第二項(xiàng)、第三項(xiàng)……

(5)每天都要這樣做,養(yǎng)成習(xí)慣。

這其中,第二步,也就是排序,是最重要的,它幫助人們遵從兩個(gè)重要原則:(1)先解決最重要的問題,(2)每次只解決一個(gè)問題。

我們在生活中常??床磺宄膬?yōu)先級(jí)問題,比如工作和生活的平衡,該去同學(xué)聚會(huì)還是在家里看書,都是沒有想清楚要按什么來排,什么對你最重要。每天的時(shí)間對于每個(gè)人都一樣多,用排序思維來管理時(shí)間可以讓你的每一天更高效。

解除焦慮,安心躺平

哪怕現(xiàn)在眾多人呼吁“躺平”,不得不承認(rèn)的是,焦慮感依然充斥在每個(gè)人的生活當(dāng)中。在斯蒂芬·柯維(Stephen Covey)的《高效能人士的七個(gè)習(xí)慣》中,他寫了兩個(gè)我們思考的圈子:關(guān)注圈子和影響圈子。

我們可以關(guān)注自己的健康、職業(yè)、人際關(guān)系,我們關(guān)心環(huán)境保護(hù),關(guān)心孩子的教育,我們也可以影響這些事,這些都屬于我們的關(guān)注圈子和影響圈子。但如果我們關(guān)注別人的成功,隔壁家孩子的考分,經(jīng)濟(jì)是否下滑,這些事情我們基本上影響不了,它們屬于關(guān)注圈子,但不屬于影響圈子,而它們是造成人們焦慮的主要原因。

你如果感到焦慮,可以試試下面的三步法。第一步,坐下來把你想到的所有的事情寫下來,然后分類成“我能影響”和“我不能影響”的兩類。僅僅這樣的分類,就能讓你看清楚自己是否花了太多的時(shí)間在擔(dān)心不能影響的事。第二步,對“我能影響”的那些事,你可以積極主動(dòng)地去改變,比如改變自己對他人的態(tài)度。第三步,對“我不能影響”的那些事,你可以問自己:“我自己能做些什么?”比如你擔(dān)心經(jīng)濟(jì)下滑,你是否可以儲(chǔ)蓄更多?把自己擔(dān)心卻不能影響的事,變成自己可以執(zhí)行的行動(dòng),可以減少?zèng)]有意義的焦慮。

是做海王,還是從一而終?

談戀愛應(yīng)該多談幾個(gè),還是從一開始就選定對象,從一而終?多談幾個(gè)是否有成為“海王”的風(fēng)險(xiǎn),從一而終給是否會(huì)錯(cuò)失更佳的伴侶?

找伴侶,在計(jì)算機(jī)領(lǐng)域是一個(gè)典型的優(yōu)化問題。這個(gè)優(yōu)化問題叫作最佳停止問題(optimal stopping)。最佳停止問題的場景是你有一系列的可能選擇的目標(biāo),你可以一個(gè)一個(gè)地檢驗(yàn),記住它們的特點(diǎn)和優(yōu)劣,給它們打分。但是你看過了就不能回頭了。問題是:你在什么時(shí)候做決定,是最佳的選擇呢?

這個(gè)最佳選擇有一個(gè)答案:37%。也就是說,在你所有的可能的選擇中,前面37%不要選,用來積累數(shù)據(jù),建立你對選擇對象質(zhì)量的評估標(biāo)準(zhǔn),讓你知道什么是好的,什么是不好的。從第38%位對象開始,你轉(zhuǎn)變成開放的可以做決定的狀態(tài)。這時(shí)候,你如果遇到比前面看到的都更好的選項(xiàng),你就可以做出選擇。

找餐廳可以做類比,如果798園區(qū)有10家餐吧,那么前面4 家(接近37%),你可以看看而不要進(jìn)去。從第5家開始,只要看著比前面的都好,你就進(jìn)去吃午飯吧,這可能就是你的最優(yōu)選擇。

找伴侶的例子也一樣。假設(shè)你在18歲到36歲之間,每年可以交一個(gè)異性朋友,那么你可能一共就有18個(gè)人可以交往。在這種情況下,對前面7個(gè)人(接近37%),你只需要交往一下,了解一下異性,看看交朋友是怎么回事。在第7個(gè)人之后,也就是在你25歲的時(shí)候,你要轉(zhuǎn)變策略,再碰到一個(gè)合適的就要抓住時(shí)機(jī)定終身,進(jìn)入人生下一個(gè)階段。

這個(gè)最佳停止的問題和答案,被譽(yù)為優(yōu)化算法里最完美的算法之一。它的問題簡單易懂,使用場景很多,答案也很清晰。最佳停止問題和答案在20世紀(jì)60年代被提出來后,廣泛應(yīng)用于統(tǒng)計(jì)學(xué)、經(jīng)濟(jì)學(xué)、計(jì)算機(jī)科學(xué)、金融學(xué)等領(lǐng)域。

如果你仔細(xì)思考,它可以對我們?nèi)松凶龅臎Q定產(chǎn)生深遠(yuǎn)的影響,因?yàn)樵谖覀兊纳町?dāng)中有特別多的問題是“你什么時(shí)候停止觀望,做出選擇”。

像算法工程師一樣思考

以上的生活場景,是否讓你意識(shí)到“計(jì)算思維”的重要性?現(xiàn)在你大概知道了,為什么“算法工程師”們的思維模式有價(jià)值,值得每個(gè)普通人去學(xué)習(xí)。女性計(jì)算機(jī)科學(xué)家諸葛越博士在她的新書《未來算法》中,詳細(xì)解釋了普通人為什么要訓(xùn)練計(jì)算思維,以及如何訓(xùn)練計(jì)算思維的辦法。

首先,計(jì)算思維會(huì)對你的每日生活和工作有幫助。了解了算法思維后,你會(huì)發(fā)現(xiàn)生活中處處是算法,會(huì)從一個(gè)全新的角度看待日常的問題。除了管理時(shí)間,接觸焦慮,尋找伴侶之外,生活中的千萬個(gè)問題都可以用算法思維給出答案。比如如何找到去公司的最短路徑,如何管理時(shí)間,如何加密你的信息,機(jī)場人流是怎么回事,騙子是怎么利用簡單算法讓很多人上當(dāng)?shù)摹?/p>

其次,計(jì)算思維也能幫你了解日常應(yīng)用是怎么工作的。比如為什么滴滴知道你要去哪里,朋友圈為什么可以一直刷,淘寶為什么隨時(shí)隨地都能向你推送你想要的東西。

還有,計(jì)算思維還會(huì)幫你做事,幫你更有效地利用這些強(qiáng)大的計(jì)算機(jī)應(yīng)用。比如了解搜索引擎的原理后,當(dāng)你要找一份工作,你就知道如何縮小范圍去找到合適的結(jié)果。再比如你想提高自己淘寶店商品的排名,你如果了解其分類和排序的規(guī)則,你的商品就有可能排到前面。

最后,計(jì)算思維也可以幫助你解決人生的復(fù)雜問題。計(jì)算思維是一套方法論,一套解決復(fù)雜問題的方法論,這套方法論可以遷移到生活當(dāng)中,給你指導(dǎo):如何做好一名CEO(首席執(zhí)行官)?如何讓孩子上好大學(xué)?如何在享受現(xiàn)在的生活和探索新的機(jī)會(huì)之間找到平衡?這些問題的本質(zhì)是如何優(yōu)化,如何做選擇,如何做成一件大事。

我們都知道人生的難題不能用一個(gè)算法來解。計(jì)算思維會(huì)教你分解問題,找出規(guī)律,教給你直覺和框架。這對我們了解復(fù)雜的世界,做正確的人生決策有很大的幫助。

那么如果把計(jì)算思維拆解開來,它,到底是什么?它的底層邏輯有哪些?

計(jì)算思維的4個(gè)方向

目前業(yè)界公認(rèn),計(jì)算思維包含4個(gè)方面:分解問題、抽象、算法、模式識(shí)別。其中,算法是直接用來解決問題的方法,而其他幾個(gè)概念能幫助人們用算法來表示生活中的問題,從而讓計(jì)算機(jī)來解決這些問題。

第一,拆解復(fù)雜問題,直到復(fù)雜問題成為可重復(fù)的簡單問題(分解問題)。

用計(jì)算思維解決問題,首先就要拆解。分解問題是把原問題分解成子問題,解子問題,再把子問題的解合成原問題的解。無論多么強(qiáng)大的計(jì)算機(jī)應(yīng)用,背后都是把原問題分解成可以解的子問題,只是規(guī)模不同。

以抖音為例,抖音的成功依賴于它強(qiáng)大的個(gè)性化推薦算法。在計(jì)算機(jī)看來,“探究用戶喜歡哪種視頻”可以拆解成:(1)把所有的視頻按內(nèi)容分類和排序;(2)根據(jù)所有用戶(包括你)以前各自的觀看習(xí)慣,推導(dǎo)出喜好;(3)把視頻內(nèi)容和用戶喜好進(jìn)行匹配,按匹配程度排序。也就是說,你用抖音刷視頻對計(jì)算機(jī)來說分三大步,每一步都可以繼續(xù)拆解,直到每一步都可以用算法來完成。

第二,把生活中的問題抽象化,用約定俗成的算法來解(抽象)。

我們生活在一個(gè)物理世界里,計(jì)算機(jī)生活在一個(gè)數(shù)字世界里。計(jì)算機(jī)并不像人一樣理解真實(shí)的事物,我們需要把真實(shí)的世界表達(dá)成它能理解的語言。然后在計(jì)算或操作后,它才能在真實(shí)世界中把結(jié)果展示出來。

比如,抖音需要用ID(身份標(biāo)識(shí)號(hào))或者名字把視頻表示成計(jì)算機(jī)可以理解的形式,也要把視頻內(nèi)容表示成計(jì)算機(jī)可以理解的形式。同樣,淘寶需要把商品的名字、內(nèi)容、價(jià)格等表示成計(jì)算機(jī)可以理解的形式。被計(jì)算機(jī)排序后,這些物品需要轉(zhuǎn)換回人能夠看見的視頻或者商品。這個(gè)把真實(shí)物理世界和計(jì)算機(jī)數(shù)字世界對應(yīng)的過程就是抽象。

一旦問題被抽象成計(jì)算機(jī)可以理解的形式,比如轉(zhuǎn)化為上面提到的排序問題,那么,這個(gè)問題就有約定俗成的解法了。而一些常用的排序算法,比如冒泡排序、插入排序等,都可以幫助我們提升解決問題的效率(這些算法在《未來算法》中都有介紹)。這些算法是計(jì)算機(jī)科學(xué)家研究出來的正確而高效的算法,是放之四海而皆準(zhǔn)的算法。我們不需要重新去發(fā)明它們,就好比造房子的時(shí)候有其他公司已經(jīng)能做出世界一流的窗戶,那我們只需要知道是哪家公司有這個(gè)能力,把尺寸要求給它,讓它造窗戶就行了。

第三,算法是流程化的、可調(diào)用的、邏輯清晰的(算法)。

計(jì)算機(jī)的算法就是一系列的指令,而指令是計(jì)算機(jī)能理解的語言。

人類的語言本身是復(fù)雜的、模糊的、會(huì)意的,比如“空山鳥飛絕”這句詩,看到的人會(huì)“腦補(bǔ)”這個(gè)畫面。而計(jì)算機(jī)語言像小孩的語言,你必須給它所有精確的信息,它才能懂。計(jì)算機(jī)需要數(shù)過每一棵樹,不多也不少,才知道這是一片有幾棵樹的森林。計(jì)算機(jī)的指令需要清晰、流程化,就像做一杯咖啡的指令,不管誰拿到這個(gè)指令,都可以做出同樣的咖啡。

清晰的語言表達(dá)是計(jì)算思維的要點(diǎn)。拆解使語言變得清晰。比如,計(jì)算機(jī)把物體從小到大做一個(gè)排序隊(duì)列,它的辦法是:(1)拿一個(gè)新的物體;(2)從隊(duì)列第一個(gè)開始比較,直到找到這個(gè)物體合適的位置;(3)把這個(gè)物體插入這個(gè)位置。這3個(gè)步驟非常清晰,沒有歧義,對任何數(shù)目的物體都會(huì)奏效。

這個(gè)算法叫插入排序算法。抖音排視頻可以用這個(gè)算法,淘寶排商品也可以用這個(gè)算法。無論是抖音需要每天推薦1億個(gè)短視頻,還是淘寶同時(shí)服務(wù)1000萬名用戶,當(dāng)它們做到最后一步,需要向用戶展示一個(gè)排好序的清單的時(shí)候,它們用的都是排序算法。

可以說,現(xiàn)代和未來的數(shù)字世界就搭建在這些算法之上。算法是約定俗成的好方法,一個(gè)算法可以解不同的問題,一個(gè)問題可以由不同的算法來解。我們需要知道各種算法的存在,懂得它們的原理,學(xué)會(huì)調(diào)用它們,讓算法為我們服務(wù)。

第四,可重復(fù)性帶來規(guī)模效應(yīng)(模式識(shí)別)。

計(jì)算機(jī)的算法不是用來解一個(gè)問題的,而是用來解一類問題的。這個(gè)解是可以重復(fù)的。比如,抖音不是給一個(gè)人推薦視頻,它的算法可以給一億人推薦視頻,每個(gè)人看到的內(nèi)容是不一樣的,形式和方法卻是一樣的。再比如,一個(gè)人臉識(shí)別算法不是只能識(shí)別某個(gè)人,而是可以把每個(gè)人的身份證照片和實(shí)際的影像進(jìn)行匹配。

可重復(fù)性帶來規(guī)模效應(yīng),這是計(jì)算機(jī)強(qiáng)大的根本原因。所謂模式識(shí)別,就是識(shí)別出哪些問題有共性,可以用同一個(gè)方法(比如排序)來解,這樣我們就可以把這些問題交給計(jì)算機(jī)算法,讓它重復(fù)做,做成千上萬遍。

計(jì)算世界是精美和巧妙的?,F(xiàn)在入行做程序員或許已經(jīng)來不及了,但我們依然可以訓(xùn)練“算法工程師”們看世界的方法,學(xué)習(xí)如何用非常優(yōu)美的、極其聰明的、超常簡潔的辦法去解決復(fù)雜的難題。希望在計(jì)算思維之下,我們都能擁有一個(gè)不同的看世界的視角。

2.png

本文綜編自《未來算法》,諸葛越著,中信出版集團(tuán)2021年6月出版。

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。

電機(jī)保護(hù)器相關(guān)文章:電機(jī)保護(hù)器原理


關(guān)鍵詞: 算法

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉