在過去的幾年里,機器學(xué)習(xí)的優(yōu)異表現(xiàn)使得它在各領(lǐng)域都突飛猛進的發(fā)展。由于有充足的資金支持,激動人心和妙趣橫生的科技產(chǎn)出,廣闊的成長空間,越來越多的人開始涉足學(xué)習(xí)機器學(xué)習(xí)相關(guān)的知識?,F(xiàn)在比較主流的獲取相關(guān)知識的方式是學(xué)校和在線課程。但機器學(xué)習(xí)的算法最后會用在真實世界的商業(yè)問題中,并成為為客戶創(chuàng)造價值的工具。機器學(xué)習(xí)模型的算法精度,可解釋性,速度和存儲能力以及最后可創(chuàng)造出的價值都需要考慮在內(nèi)。
本文我們將要談?wù)勊膫€無法從學(xué)?;蚋鞣N線上平臺學(xué)習(xí)到的機器學(xué)習(xí)技巧,這些技巧有助于機器學(xué)習(xí)算法應(yīng)用于真實的世界中,創(chuàng)造實際價值。希望這篇文章能帶給你一些實踐中的啟發(fā)和價值。
銜接機器學(xué)習(xí)算法與商業(yè)目標(biāo)
包括機器學(xué)習(xí)在內(nèi)的軟件行業(yè)中,我們都需要注意將理論技能和商業(yè)目標(biāo)聯(lián)系起來。如果想成為領(lǐng)域內(nèi)的專家,這兩方面的知識都是必不可少的。
在教室里我們能學(xué)到很多理論技能方面的知識:如何編寫Python程序,機器學(xué)習(xí)和數(shù)據(jù)科學(xué)的算法,技術(shù)報告的撰寫等等,這些零碎的知識點往往與商業(yè)領(lǐng)域孤立脫離。當(dāng)你需要在該領(lǐng)域內(nèi)實際工作時,你工作的每一個細(xì)節(jié)問題均與實際的商業(yè)相聯(lián)系。為什么你的領(lǐng)導(dǎo)要你優(yōu)化現(xiàn)在系統(tǒng)的精度?因為更好的精度意味著更多的價值,更好的產(chǎn)品,從而意味著更多的客戶和收入!
為了對問題有更好更深入的理解,我們需要抓住關(guān)鍵、聚焦重點。 當(dāng)你在行業(yè)內(nèi)有聲望時,你也許有機會將商業(yè)目標(biāo)轉(zhuǎn)變?yōu)榧夹g(shù)目標(biāo),為了完成這項工作,科技手段是不可或缺的途徑。當(dāng)創(chuàng)造實際價值時,一定要注意將科技與商業(yè)聯(lián)系思考。一定要記住理論與實際相結(jié)合是我們?nèi)〉贸晒Φ挠辛ΡWC!
模型選擇
在學(xué)校中,我們學(xué)到了各種各樣的機器學(xué)習(xí)模型:線性回歸模型,支持向量機,神經(jīng)網(wǎng)絡(luò)...好像有成百上千種那么多!那么問題來了,我們該用哪種?你也許之前用過他們種的許多種:碰巧編寫過某幾種算法或是從TensorFlow和Scikit Learn這樣的庫中調(diào)用過。你想過為什么要選擇這種算法嗎?現(xiàn)在深度學(xué)習(xí)算法十分流行,我們可以直接默認(rèn)使用這種算法嗎?
正如科技和工程中的本質(zhì)特征一樣:所有的方法都需要權(quán)衡利弊。在實際應(yīng)用的過程中,需要仔細(xì)權(quán)衡每種算法是否適用于該種模型。在機器學(xué)習(xí)領(lǐng)域里“沒有免費的午餐”。即:沒有一種機器學(xué)習(xí)算法是萬能的,可適用于全部的問題。不同種類機器學(xué)習(xí)算法的表現(xiàn)強烈的依賴于數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)量。除非我們使用算法來檢驗結(jié)果,不然無法事先判別判別模型有效性。
一種算法并不永遠(yuǎn)比另外一種好用,每種機器學(xué)習(xí)的算法均有其特點,可以用來快速選擇和協(xié)調(diào)各種參數(shù)。比如:神經(jīng)網(wǎng)絡(luò)(和深度學(xué)習(xí))一般準(zhǔn)確性較高但是可解釋性較差。當(dāng)你需要確切的知道結(jié)果的來源時,就不適宜選擇這種方法;但是如果你只關(guān)心最后的輸出結(jié)果,那么這種方法就非常適合!而對于某些商業(yè)問題來說,從最簡單的模型開始是一個不錯的選擇。在工程實踐中,往往都是先開發(fā)出一個最簡單的可用模型而后再逐漸優(yōu)化的。一開始就使用復(fù)雜的模型想要覆蓋所有的情況,會讓你的工作陷入很多的困難中去。
模型部署
機器學(xué)習(xí)教育過程中通常傾向于深入學(xué)習(xí)機器學(xué)習(xí)算法,教導(dǎo)我們從技術(shù)層面上理解他們的運作方式。一旦你的模型被完全訓(xùn)練,將用某些數(shù)據(jù)集來標(biāo)記模型的有效性。一旦模型被驗證可以很好的完成任務(wù),全套的軟件產(chǎn)品將被進行部署。
站在更高的層面來理解部署的含義:將算法插入到已有的系統(tǒng)中去。模型的功能在于當(dāng)給出輸入時能做出某種對于系統(tǒng)的有效預(yù)測,因此,從系統(tǒng)層面理解整個軟件是十分必要的。
在學(xué)校中所學(xué)的是技術(shù)層面的知識基石,在商業(yè)中應(yīng)用和發(fā)現(xiàn)產(chǎn)品的價值是最終目標(biāo),將軟件系統(tǒng)中各個部分有機的結(jié)合起來是處于中間的必經(jīng)步驟。我們需要明白系統(tǒng)的架構(gòu),不同區(qū)域之間的連接,然后你才能從宏觀層面上把握模型在系統(tǒng)中所處的地位和發(fā)揮的作用。在這樣的基礎(chǔ)上銜接系統(tǒng)中不同模塊的功能、揚長避短才能發(fā)揮出模型最大的效用。
投入與產(chǎn)出的平衡
當(dāng)在學(xué)?;蛘咴谠诰€課程的學(xué)習(xí)中,我們有充分的時間進行實驗。我們甚至可以一直做研究,發(fā)現(xiàn)最新最好的算法。但是在現(xiàn)實生活中,這樣卻不是最有效的方式。商業(yè)講究在有效的時間和資源內(nèi)將利益最大化,不可能花一整天都額時間來驗證手邊所有的方法中哪一種是最好的方法。我們需要找到最有效的途徑來決定最優(yōu)的方法。
我們需要花最少的錢取得最大的效果,也許有一種新的優(yōu)秀的回歸算法,但是它在技術(shù)上既不成熟,還可能在實施過程中消耗大量的時間。這個時候,與其花費大量的時間修改算法,不如通過輸入更多的數(shù)據(jù)來訓(xùn)練現(xiàn)有的模型。你的算法是否比原來的算法更加精確并不是關(guān)鍵,通過各種各樣的手段,更加快速的達(dá)到結(jié)果優(yōu)化的目的才是關(guān)鍵。
在學(xué)校中的慣用思維是從單方面著眼解決問題,在工作中卻需要從各方面權(quán)衡,找到最高效的方法并應(yīng)用。機器學(xué)習(xí)和所有其他的軟件簡而言之都是一系列工具,花最少的錢取得最大的效果意味著如何最好的利用這些工具來解決工作中的問題。目標(biāo)導(dǎo)向的實際工作意味著解決問題才是關(guān)鍵。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4771瀏覽量
100772 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8418瀏覽量
132646 -
數(shù)據(jù)科學(xué)
+關(guān)注
關(guān)注
0文章
165瀏覽量
10060
原文標(biāo)題:紙上得來終覺淺:四個你可能無法從書本中學(xué)習(xí)到的機器學(xué)習(xí)技巧
文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論