本文想要告訴你,程序員可以進(jìn)入機(jī)器學(xué)習(xí)領(lǐng)域。我會(huì)告訴你學(xué)習(xí)機(jī)器學(xué)習(xí)就像學(xué)習(xí)其他任何一門技術(shù)一樣。我們會(huì)首先將學(xué)習(xí)機(jī)器學(xué)習(xí)和編程進(jìn)行對(duì)比,這本身就是一向更大的挑戰(zhàn)。
創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、開陽網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為開陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。想要學(xué)習(xí)編碼的設(shè)計(jì)師
設(shè)想你是一個(gè)設(shè)計(jì)師,一個(gè)經(jīng)驗(yàn)不多的設(shè)計(jì)師。你使用類似Photoshop的工具,切圖并且轉(zhuǎn)換成CSS。你的身邊都是程序員,或許你也羨慕他們的編碼能力。你想要學(xué)習(xí)編程。不管對(duì)錯(cuò),你認(rèn)為CSS和HTML是“實(shí)踐編碼”,是一種創(chuàng)意的表達(dá),但是編程,和你的創(chuàng)意相比,完全是另外一回事。
你跑到Quora和StackOverflow去提類似于“我是一個(gè)設(shè)計(jì)師,如何學(xué)習(xí)編程?”這樣的問題。
你得到一堆不著邊際的回答。你得到貌似高手的程序員奉上免費(fèi)的建議“學(xué)習(xí)C和指針”,“學(xué)習(xí)二進(jìn)制”,“買一本ASM的書”,“先學(xué)LIST”。可能會(huì)有一個(gè)雄辯家寫了長篇大論來說服你買一本Knuth的《編程藝術(shù)》1-3卷。你接受了他的建議,只看了介紹就從Amazon買了那書,然后覺得自己學(xué)不會(huì)編程是因?yàn)樽约翰粔蚵斆?,并且在接下來?個(gè)月中重復(fù)著向同的過程。
發(fā)生了什么?建議看起來沒問題呀?
問提出在建議過時(shí)了。這樣的建議來自從他們自己的角度考慮問題的程序員,并且是關(guān)于已經(jīng)是程序員的人如何做得更好。這樣的建議沒有考慮一個(gè)完全的新手的情況,好比一個(gè)僅有一點(diǎn)興趣的業(yè)余選手正在試探水溫,看看是否適合游泳。
現(xiàn)在我承認(rèn),情況有一點(diǎn)不一樣了。這種場(chǎng)景已經(jīng)被重視,并且已經(jīng)有針對(duì)這種場(chǎng)景的服務(wù)了。例如:教人如何編程。
當(dāng)然,我們也需要學(xué)習(xí)指針,ASM,LISP甚至閱讀Knuth的著作(我相信不會(huì)有人一頁一頁的讀的),那是稍后的事情了。那如何開始呢?我是通過改造一些東西,嘗試一些東西,來體驗(yàn),創(chuàng)造和學(xué)習(xí)。我會(huì)把深挖技術(shù)的部分往后放,因?yàn)槲蚁雱?chuàng)造更大規(guī)模,更好,更強(qiáng)大的程序。我沒有從技術(shù)的細(xì)節(jié)入手。我認(rèn)為這種經(jīng)驗(yàn)和當(dāng)前大部分程序員是相似的,這和你的相似么?在評(píng)論中告訴我。
想要學(xué)習(xí)機(jī)器學(xué)習(xí)的程序員
現(xiàn)在正在閱讀這篇文章的你,很可能是個(gè)程序員或某方面的開發(fā)人員。想想你在機(jī)器學(xué)習(xí)方面的興趣。你有看到過專業(yè)的機(jī)器學(xué)習(xí)領(lǐng)域的專家給你免費(fèi)的如何開始的建議嗎?
我已經(jīng)搜索并且閱讀了這樣的建議,有用的很少。如下是我收集的一部分。
學(xué)習(xí)機(jī)器學(xué)習(xí)需要具備那些數(shù)學(xué)知識(shí)?
你需要熟練使用線性代數(shù)(向量和矩陣)并且懂得指數(shù)和對(duì)數(shù)。
如果你想簡(jiǎn)單一點(diǎn),你至少需要知道線性代數(shù)中的特征項(xiàng)量。
對(duì)于機(jī)器學(xué)習(xí),很強(qiáng)的數(shù)學(xué)功底真的這么重要嗎?
你的確需要熟悉一些概率,線性代數(shù),線性編程,多變量微積分的東西。
對(duì)于機(jī)器學(xué)習(xí),哪些技能是必須的呢?
第一,你要有個(gè)相當(dāng)?shù)挠?jì)算機(jī)/數(shù)學(xué)背景。機(jī)器學(xué)習(xí)是一個(gè)高級(jí)玩意,所以大多數(shù)文檔都假設(shè)你有這樣的背景。
統(tǒng)計(jì)學(xué),概率,分布式計(jì)算。
有一些好的建議,但是這些建議對(duì)于一個(gè)完全的新手是否合適?是否適合那些正在試探水溫的程序員?
有可能大家在問一個(gè)錯(cuò)誤的問題。并且,我已經(jīng)摘取了在回答中提到學(xué)習(xí)機(jī)器學(xué)習(xí)必須先學(xué)習(xí)數(shù)學(xué)的片段。我需要指出的是,如果一個(gè)初學(xué)者把大量時(shí)間花在他們不具備的條件和無法做到的事情上,他們會(huì)過早得放棄,而那時(shí),他們甚至都沒有是個(gè)。
很好的掌握線性代數(shù)和概率論對(duì)進(jìn)入機(jī)器學(xué)習(xí)領(lǐng)域是一個(gè)很好的基礎(chǔ),我完全同意。對(duì)多階分析《統(tǒng)計(jì)元素》是一本很棒的書,我完全同意。我只是不贊成學(xué)習(xí)機(jī)器學(xué)習(xí)的第一步應(yīng)該是學(xué)一門數(shù)學(xué)課程或讀一套領(lǐng)域中相當(dāng)深?yuàn)W的理論。實(shí)際上,我強(qiáng)烈的反對(duì)這樣。
兩個(gè)機(jī)器學(xué)習(xí)領(lǐng)域
機(jī)器學(xué)習(xí)有兩個(gè)方面:
機(jī)器學(xué)習(xí)實(shí)踐:這會(huì)涉及數(shù)據(jù)查詢,數(shù)據(jù)清洗,編寫用于轉(zhuǎn)換數(shù)據(jù)的腳本和把算法和庫連接起來和寫一些代碼來解決困難的定義不清的命題。這個(gè)都是現(xiàn)實(shí)中的。
機(jī)器學(xué)習(xí)理論:這會(huì)涉及數(shù)學(xué),抽象,理想方案,極限,美學(xué)和可行性判斷。這個(gè)相對(duì)純粹并且脫離現(xiàn)實(shí)。
沒有了理論部分的支持,實(shí)踐部分便失去了框架和嚴(yán)謹(jǐn)性。沒有了實(shí)踐部分,理論就失去了意義和動(dòng)力。將這兩者分開說是行不通的,這真的是一個(gè)有很多工具,很多公式的領(lǐng)域,跟著我就好了。
作為一個(gè)程序員,你會(huì)更傾向于實(shí)踐方面,但是,作為一個(gè)“技術(shù)人員”,你遲早會(huì)碰帶天花板,你會(huì)需要學(xué)習(xí)理論來得到有效的提高。你必須閱讀關(guān)于算法的數(shù)學(xué)論文,你必須讀很厚的書。那是在這個(gè)領(lǐng)域作出杰出成果必須要做的。但,問題是,那是一個(gè)實(shí)踐者給初學(xué)者的建議,那過于理想化,適合程序員,所以,對(duì)初學(xué)者依然是不合適的。
程序員喜歡強(qiáng)大的工具。
我認(rèn)為,對(duì)于一個(gè)經(jīng)驗(yàn)豐富的程序員,把機(jī)器學(xué)習(xí)看成是一個(gè)高級(jí)的編程方法,就像線程(跟上我)。
如果你想掌握線程,你只需寫一些多線程的程序并且了解他能解決哪些問題。你把線程的知識(shí)和你原先的知識(shí)體系進(jìn)行綁定,你原先的知識(shí)體系會(huì)起作用,并且你會(huì)注意到線程可以解決哪些以前不能解決的問題。如果你確定這是適合你的,你可以閱讀書籍并且挖得更深。
你可以使用現(xiàn)成的多線程庫,你也可以自己寫一個(gè),你可以挖得更深并且學(xué)到更多線程結(jié)構(gòu)背后包含的數(shù)學(xué)知識(shí)。你的興趣驅(qū)使著你學(xué)習(xí)并且最終你可以確保完成一段多線程的代碼。這是一個(gè)漸變的過程。
顯然,機(jī)器學(xué)習(xí)是一個(gè)更龐大的更復(fù)雜的領(lǐng)域,我提倡使用循序漸進(jìn)的策略,在未來的文章中我會(huì)詳細(xì)說明。
不要讓一個(gè)初學(xué)者來學(xué)習(xí)機(jī)器學(xué)習(xí),并且把系統(tǒng)上線。這是很危險(xiǎn)的。你遲早會(huì)得到足夠多的教訓(xùn),并且意識(shí)到這是危險(xiǎn)的。不過,如果有編程的經(jīng)驗(yàn)就不一樣了,代碼審查,主從意識(shí),編程常識(shí)都會(huì)控制那些可能存在的危險(xiǎn)性。
就像學(xué)習(xí)編程,學(xué)習(xí)機(jī)器學(xué)習(xí)是一個(gè)沒有終點(diǎn)的旅途,精通就意味著持續(xù)的學(xué)習(xí)。學(xué)會(huì)閱讀公式,用代碼實(shí)現(xiàn)公式,如果有興趣的話,接下來就用你自己的代碼來解決問題。
資源
如果你想要持續(xù)研究這個(gè)問題,下面有我列出的資源??赡苡幸稽c(diǎn)深,我確定我們會(huì)產(chǎn)生很多不錯(cuò)的討論。
向上翻,看看那些來自StackOverflow的回答。有說程序員不能學(xué)機(jī)器學(xué)習(xí),除非他們懂?dāng)?shù)學(xué)的,但也有鼓勵(lì)的,給你信心的。
為什么成為一名數(shù)據(jù)科學(xué)家會(huì)比你想像的容易?一篇來自Gigaom的報(bào)道稱,在同等條件下,從scratch起步的數(shù)據(jù)科學(xué)家可以很快具備國際競(jìng)爭(zhēng)力。
數(shù)學(xué)對(duì)編程是必須的嗎?有趣的是,我認(rèn)為兩方的辯論是十分相關(guān)的,并且這是一個(gè)很有用的觀點(diǎn)。
這篇文章可能引發(fā)論戰(zhàn),我很感興趣你們?cè)鯁峥?。和你的朋友太論這個(gè)話題,我的確聽到很多關(guān)于危險(xiǎn)區(qū)和“技術(shù)人員”循序漸進(jìn)學(xué)習(xí)學(xué)習(xí)機(jī)器學(xué)習(xí)的觀點(diǎn)。我會(huì)在未來的文章中對(duì)以上兩個(gè)話題進(jìn)行跟進(jìn)。
網(wǎng)站標(biāo)題:程序員可以進(jìn)入機(jī)器學(xué)習(xí)領(lǐng)域
當(dāng)前網(wǎng)址:http://jinyejixie.com/article22/sohgcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、搜索引擎優(yōu)化、網(wǎng)站收錄、Google、網(wǎng)站營銷、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)