大數(shù)據(jù)文摘作品
編譯:馮琛、龍牧雪
What? 高中生也可以?
人工智能、大數(shù)據(jù)已經(jīng)被納入了我國高中“新課標”,但估計大多數(shù)高中生要是真想了解這一學(xué)科恐怕是一頭霧水:高數(shù)沒學(xué)過,編程也不會,老師也不教,這怎么學(xué)人工智能?
新加坡有位高中生Karan Jaisingh已經(jīng)學(xué)習(xí)人工智能和機器學(xué)習(xí)一年了。不久前,他在GitHub發(fā)出了一篇長文,專門教廣大高中生(以及高中老師、高中生家長、準高中生、準高中生家長……)入門人工智能。
不看不知道,他的LinkedIn顯示他還是個CEO!他正在開發(fā)一個錯題集和期末復(fù)習(xí)相關(guān)的App??
文摘菌不禁惦記起了廣大想入行的本科生、碩士生、博士生……告訴我,春節(jié)假期余額嚴重不足了,你計劃要看的書翻開了嗎?如果沒有,可以參考下面這篇入門指南,它雖然是針對高中生而寫,但使用的都是主流教程和工具。
高中生寫給高中生
這份指南中整合的內(nèi)容,是為打算在機器學(xué)習(xí)和人工智能這個新興領(lǐng)域內(nèi)有所建樹的高中生準備的。目前在這個領(lǐng)域還沒有適合高中生的學(xué)習(xí)路徑。這份指南的特別之處在于,你不需要了解線性代數(shù)、偏導(dǎo)以及其他高中生沒有學(xué)到的復(fù)雜數(shù)學(xué)概念。
如果你能夠定期按照這個路徑學(xué)習(xí),我相信在短短三個月內(nèi)你會進步飛速。接下來我們就正式開始吧。
學(xué)習(xí)Python,你需要使用它編寫算法
我強烈推薦Python,不僅僅因為它超容易上手,還因為它提供了機器學(xué)習(xí)會用到的幾乎所有好用的函數(shù)庫。R也很好用,但是我認為Python更適合高中生。除了基礎(chǔ)的編程,Numpy、Pandas和Matplotlib是機器學(xué)習(xí)中最有用的幾個函數(shù)庫。
如果你沒有任何編程經(jīng)驗,我推薦你上一門多倫多大學(xué)的免費課程。多倫多大學(xué)是目前在機器學(xué)習(xí)和人工智能方面水平最高的大學(xué)之一。這門課耗時數(shù)周,但它值得你花費時間。你在這門課程中學(xué)到的大多數(shù)知識都能應(yīng)用于任何其他的編程語言,唯一不同的只有語法。
課程鏈接:
https://www.coursera.org/learn/learn-to-program?siteID=SAyYsTvLiGQ-rs4V8qoewjp3oL7Nr.r_Fw&utm_content=10&utm_medium=partners&utm_source=linkshare&utm_campaign=SAyYsTvLiGQ#
如果你有除Python之外的編程經(jīng)驗,可以直接瀏覽以下語法教程,這最多耗時一天。
教程鏈接:
https://www.tutorialspoint.com/python/python_basic_syntax.htm
學(xué)習(xí)了Python的基本知識后,你需要了解Numpy、Pandas兩個函數(shù)庫(Matplotlib可以之后再說)。Numpy數(shù)組和Pandas用于調(diào)用和更改數(shù)據(jù),Matplotlib用來制作圖表將數(shù)據(jù)可視化。下面兩個課程只需要幾天時間就能完成:
Numpy: http://cs231n.github.io/python-numpy-tutorial/
Pandas: https://pandas.pydata.org/pandas-docs/stable/10min.html
文摘菌備注:這篇Numpy教程是斯坦福CS231n的配套練習(xí),想同步學(xué)可以看大數(shù)據(jù)文摘翻譯的視頻 筆記
http://study.163.com/course/courseMain.htm?courseId=1003223001
機器學(xué)習(xí)的基礎(chǔ)知識
如果要說一門通用的機器學(xué)習(xí)課程,那非吳恩達(Andrew Ng)的課程莫屬。對于高中學(xué)生來說,這門課程可能有點難度,因為它涉及到偏導(dǎo)數(shù)等概念(盡管這些概念不是必須的)。建議反復(fù)觀看第3至5周的課程。
我鼓勵每個人都學(xué)學(xué)這門課并做筆記,雖然基于Matlab的編程相關(guān)的教程和練習(xí)不是必須的,而且根據(jù)我的經(jīng)驗,這個課程對于高中生來說難以掌握。但不用擔(dān)心,我們將用更短的時間在Python中完成相同(甚至更先進)的算法。
課程鏈接:
https://www.coursera.org/learn/machine-learning
學(xué)習(xí)各種機器學(xué)習(xí)算法并了解如何實現(xiàn)
在沒有通用數(shù)學(xué)基礎(chǔ)的情況下想要理解機器學(xué)習(xí)算法,理論上講是很難的。但是一個澳洲團隊解決了這個問題。
來自SuperDataScience團隊的Kirill Eremenko和Hadelin de Ponteves,特別擅長在現(xiàn)實生活中尋找實現(xiàn)簡單算法的途徑。更厲害的是,這讓沒有復(fù)雜數(shù)學(xué)背景的高中生可以輕松理解。
他們的課程包括Python和R,不用擔(dān)心R的部分,只需要看Python的教程就可以了。如果你覺得他們的課有點慢,可以用1.25倍速播放。
他們的課在Udemy上,是付費的,但Udemy一般都給他們的課90%的折扣。在這可以找到課程,通常只要花費10美元。
課程鏈接:
https://www.udemy.com/machinelearning/learn/v4/overview
該課程涵蓋了從基本回歸分析到深度卷積神經(jīng)網(wǎng)絡(luò)。如果你還想探索更深的領(lǐng)域,機器學(xué)習(xí)課程的最后提供了他們的深度學(xué)習(xí)課程,有90%的折扣。但是,因為第二個課程太新了,其中的概念可能有點超前并缺乏合適的分類整理。
如果你不愿意花錢學(xué),你可以看看谷歌的免費深度學(xué)習(xí)課程,或者密西根大學(xué)的免費課程。但是這些課程都與SuperDataScience的課程相差甚遠。
谷歌的免費深度學(xué)習(xí)課程:
https://www.udacity.com/course/deep-learning--ud730
密西根大學(xué)的免費課程:
https://www.coursera.org/learn/python-machine-learning
對于這些課,做筆記不是必須的,網(wǎng)上有很多算法小抄,你一下就能看明白這些算法是怎么運作的。
小抄鏈接:
https://www.analyticsvidhya.com/blog/2017/02/top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/
探索、探索再探索
現(xiàn)在你掌握了廣泛的機器學(xué)習(xí)概念,并且學(xué)到了大量的技能。是時候在這些基礎(chǔ)項目上小試牛刀啦。我建議上Kaggle或者UCI機器學(xué)習(xí)庫,找個你感興趣的數(shù)據(jù)集,對它進行建模解決一些問題。嘗試各種不同的算法,嘗試去不斷優(yōu)化模型表現(xiàn)。
Kaggle:
https://www.kaggle.com/
UCI機器學(xué)習(xí)庫:
http://archive.ics.uci.edu/ml/datasets.html
確保你用的數(shù)據(jù)集簡單明了,它們不應(yīng)該需要太多的預(yù)先處理和修改。一些我能想到的簡單數(shù)據(jù)集:鳶尾花數(shù)據(jù)、葡萄酒數(shù)據(jù)、威斯康星州乳腺癌數(shù)據(jù)、自閉癥篩查數(shù)據(jù)、國會投票數(shù)據(jù)、MNIST手寫數(shù)字數(shù)據(jù)和MNIST時尚數(shù)據(jù)。
如果你遇到障礙,Stack Overflow是你的好朋友,上面有你所有問題的答案。如果沒有,發(fā)布一個問題,幾個小時內(nèi)就能得到解答。
Stack Overflow鏈接:
https://stackoverflow.com/
尋找一個特別感興趣的領(lǐng)域,深入研究
現(xiàn)在你已經(jīng)有了對全部基礎(chǔ)知識有了很好的廣泛了解。我建議你在機器學(xué)習(xí)的范圍內(nèi)尋找一個感興趣的領(lǐng)域,并且深入了解它。在高中階段,你可能沒有時間成為所有領(lǐng)域的專家,但可以嘗試去征服一個或兩個領(lǐng)域。
計算機視覺
應(yīng)用一種特殊的神經(jīng)網(wǎng)絡(luò)使計算機觀察并理解事物,這應(yīng)該是當(dāng)下機器學(xué)習(xí)及人工智能最熱門的領(lǐng)域。斯坦福大學(xué)發(fā)布了相關(guān)在線課程,講義、課堂筆記和作業(yè)都公開。盡管課程涉及的數(shù)學(xué)有些復(fù)雜,不要擔(dān)心,試著去學(xué)習(xí)一下,該課程只是為了加深你的知識。另外,你還可以看看OpenCV,這是一個計算機視覺庫,它可以為你處理很多復(fù)雜的東西。這是一個很好的教程。當(dāng)你完成上述這些,就去Kaggle和UCI上找更多的高級圖像數(shù)據(jù)集,或者參加Kaggle的競賽。
斯坦福CS231n在線課程:
http://cs231n.stanford.edu/
OpenCV教程:
https://www.youtube.com/watch?v=Z78zbnLlPUA&list=PLQVvvaa0QuDdttJXlLtAJxJetJcq
mqlQq
斯坦福CS231n中文字幕視頻 筆記:
http://study.163.com/course/courseMain.htm?courseId=1003223001
自然語言處理
了解計算機如何學(xué)習(xí)說話也是當(dāng)下的一個突出話題。斯坦福大學(xué)又提供了一個在線課程。如果你不了解其中的一些數(shù)學(xué)概念,不要擔(dān)心,只需要了解這個領(lǐng)域的工作原理。對于實現(xiàn)NLP應(yīng)用,你可以學(xué)習(xí)Udemy課程。你也可以選擇Siraj Raval的視頻。如果你已經(jīng)完成了這些,可以嘗試開始做簡單的眾所周知的項目,比如創(chuàng)建聊天機器人,情感分析或為歌曲創(chuàng)建歌詞。
斯坦福CS224n在線課程:
http://web.stanford.edu/class/cs224n/
Udemy課程:
https://www.udemy.com/data-science-natural-language-processing-in-python/
Siraj Raval的視頻:
https://www.youtube.com/watch?v=9zhrxE5PQgY
大數(shù)據(jù)文摘經(jīng)授權(quán)譯制Siraj Raval多個視頻,戳這里看
強化學(xué)習(xí)
該領(lǐng)域?qū)W⒂跈C器如何以特定方式學(xué)習(xí),其最受歡迎的應(yīng)用程序是在電玩領(lǐng)域。 Siraj Raval在這方面又有了一個不錯的視頻集合,另外David Silver的UCL課程非常棒,雖然初學(xué)者可能會覺得有點難 。一旦你完成了這些工作,就可以開始從網(wǎng)上下載基礎(chǔ)項目,并添加人工智能元素來改進他們的行為模式。
Siraj Raval:
https://www.youtube.com/watch?v=i_McNBDP9Qs&list=PL2-dafEMk2A5FZ-MnPMpp3PBtZcINKwLA
David Silver的UCL課程:http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html
數(shù)據(jù)科學(xué)
這是一個萌芽的領(lǐng)域,有許多令人興奮的工作機會。我建議你學(xué)習(xí)SuperDataScience的付費課程或加州大學(xué)圣地亞哥分?;赑ython的免費課程。你還必須學(xué)習(xí)SQL以及Matplotlib。在學(xué)生時期學(xué)習(xí)的優(yōu)勢在于找工作——我有高中的朋友拿到了數(shù)據(jù)科學(xué)實習(xí)的offer,因為從他們的工作中獲得的數(shù)據(jù)可以立即被公司拿去盈利。公司總是很需要數(shù)據(jù)科學(xué)家。
SuperDataScience的付費課程:
https://www.udemy.com/datascience/
加州大學(xué)圣地亞哥分校的免費課程:
https://www.edx.org/course/python-data-science-uc -san-diegox-dse200x
SQL:
https://www.khanacademy.org/computing/computer-programming/sql
Matplotlib:
https://www.youtube.com/watch?v=q7Bo_J8x_dw
還有像代表性學(xué)習(xí)(用于推薦系統(tǒng))、Adversial Networks(AI改進AI)和遺傳算法(以與自然進化類似的方式改進解決方案)等領(lǐng)域,但在我看來,對于大多數(shù)高中學(xué)生來說,這些是延伸學(xué)習(xí)。因為這些領(lǐng)域目前沒有盈利空間,他們不像其他領(lǐng)域被學(xué)習(xí)和發(fā)掘得那么全面。如果你對其中某個領(lǐng)域特別感興趣,也可以盡情去探索。
真正了解人工智能領(lǐng)域
如果你想要長期在這個領(lǐng)域中工作,了解它是什么、有什么突破性進展以及它對社會的影響至關(guān)重要。
高中生應(yīng)該做如下幾件事來加深對該領(lǐng)域的了解、增長見識:
開始閱讀研究論文:它們不像你想象的那么有挑戰(zhàn)性。即使只有高中數(shù)學(xué)水平也可以讀懂很多論文。如果你讀到一篇不理解的,放下它不用讀了,還有很多其他的替代選擇。
https://www.kdnuggets.com/2017/04/top-20-papers-machine-learning.html
關(guān)注領(lǐng)域內(nèi)的先驅(qū):像吳恩達、Ian Goodfellow和Yann LeCunn都經(jīng)常接受采訪,他們給出了這一領(lǐng)域內(nèi)專家對于人工智能課題的權(quán)威觀點。
https://www.youtube.com/user/Maaaarth/videos
與時俱進:Wired是科技達人的最佳平臺之一。它每天發(fā)布多個與AI相關(guān)的故事。這是個方便快捷了解實時趨勢的好途徑。另外,訂閱TechCrunch的Facebook Messenger機器人 - 它通常會每天推送與人工智能相關(guān)的有趣文章。
https://www.wired.com/tag/artificial-intelligence/
了解內(nèi)涵:沒有比看TED更好的方式了。他們的發(fā)言人在這個領(lǐng)域非常權(quán)威,并且在發(fā)言中越來越強調(diào)人工智能。
https://www.youtube.com/user/TEDtalksDirector/videos
了解哲學(xué):人工智能有支持者也有反對者。然而,它背后的哲學(xué)是有趣的。推薦一些我喜歡并且適合高中生閱讀的探究該領(lǐng)域的書籍,包括Ray Kurzweil的《如何創(chuàng)造心靈》和Max Tegmark的《生活3.0》。
http://s3.amazonaws.com/arena-attachments/1446178/cffa5ebc74cee2b1edf58fa9a5bbcb1c.pdf?1511265314
做貢獻:如果你喜歡從他人的經(jīng)驗中學(xué)習(xí),看看臉書上的人工智能和深度學(xué)習(xí)小組?;蛘撸绻愀矚g對話,看一下Reddit上的人工智能相關(guān)問題。
https://www.reddit.com/r/artificial/
結(jié)論
并不是每個人都要遵循這一條路徑,你也可以尋找自己的學(xué)習(xí)路徑。機器學(xué)習(xí)和人工智能是一個新領(lǐng)域,一般是研究生在學(xué)習(xí)相關(guān)課程。但這并不是說此領(lǐng)域晦澀難懂,只要掌握學(xué)習(xí)方法,什么時候?qū)W習(xí)都不算晚。
聯(lián)系客服