-
1 # 可口可樂男
-
2 # 槽話談
接下來文章會側重在以下幾方面
1、零基礎如何進行人工智慧的自學(以找工作為目的),包括路徑規劃,怎麼學等等。
3、好的學習資源分享
先說一下個人背景,一本,經濟學畢業,上學時從未學過程式設計。我這裡指的零基礎指的是,沒有程式設計基礎、沒有數學基礎(數學需要一些基本的,如果沒有,後續也會幫助大家的)。
剛畢業第一年時,迷茫,不知道做什麼。
第一階段:邊工作邊自學爬蟲,失敗
畢業一年後,覺得程式設計可能是自己想要的,所以開始自學程式設計。
最開始學的是爬蟲,python語言。每天學6個小時,一週五到六天。學了4個月後,去面了五六家企業,沒有成功。原因是爬蟲的知識夠,可是計算機的基礎太薄弱。什麼演算法、計算機網路這些,統統沒學。因為我當時是完全自學,沒有人帶,導致我也不知道要學這些。第一階段,失敗,說實話,有點氣餒,那可是每天沒日沒夜的學習啊,最後卻換來一場空。可是生活還得繼續,怨天尤人有什麼用。
第二階段:邊工作邊自學人工智慧,成功
面試失敗後,考慮了要把程式設計基礎學一下再去面試,還是學點別的。我的決定是學人工智慧,當時對這個比較感興趣。好了,又是學了半年多,每天學6個小時,一週6天。從機器學習學到深度學習再學回機器學習。面試,成功地去公司從事機器學習深度學習方面的基礎工作。不過實力肯定沒有那些程式設計出身,數學、統計出身的人強,所以很多時候也是邊學邊做,打打雜。
其實我說的很簡單很輕鬆的樣子,但其中的艱辛只有自己是最清楚。所以我很希望透過我未來經驗學習的分享,幫助大家少走一些彎路。
第三階段:自己幹
十問十答:
1、零基礎轉行學程式設計可以嗎?可以,要做好吃苦的準備。學習是個漫長的過程,你上班的話,能否保證一定時間的學習呢,這個是你要問自己的。我也是邊工作邊學習,不同的是,我工作很清閒,所以我基本可以在上班時間學習。如果你還在上學,恭喜你這是你最好的機會了。
2、該自學還是去培訓班?我覺得自學就夠了,培訓班真是又貴又水。這是我進過培訓班的朋友告訴我的。其實你工作之後會發現,很多東西都是要自學的。如果你連自學都沒辦法自學的話,你又怎麼能工作。而且,自學的效率會更高,當然前提是路徑不能錯。
3、轉行程式設計,就業率怎麼樣?說實話,如果你不是程式設計出身的,要轉行程式設計其實是比較難的,畢竟人家4年的正統學習不是白學的。但這不意味著就沒辦法。找準目標,規劃好路徑,學習最必要的知識,這樣就有機會。但是,請做好學完仍找不到工作的心理準備。
5、人工智慧零基礎可以學嗎?可以,但是比一般轉行程式設計的要難,因為要自學的東西更多,要求的門檻也會更高。這個後續會著重講到。
6、學人工智慧需要數學嗎?不要因為數學而望而切步,數學是需要的,但沒有要求的高不可攀,透過必要的學習,是可以達到入門水準的。
7、以前沒接觸過程式設計,怎麼辦?可以學習python,這真的是一門對零基礎的人來說很友好的語言了,其他的我不懂。
8、一般轉行程式設計的週期要多久?按我跟我周邊朋友的經驗來看。一週5-6天,一天6小時學習時間,4-7個月,這應該是比較正常的。
9、我是怎麼堅持下來的?期間有很多次想要放棄,有的時候是真的看不懂,也沒人教,純自學,安裝個工具有什麼時候就要安裝半天,不多說,都是淚啊。你的慾望有多強烈,就能有多堅持。
10、現在學程式設計還來得及嗎?永遠都來得及,學程式設計不一定是為了好工作,它更是一個全新的世界,你會發現很多對自己有幫助的東西。就算以後你不做這個,我相信這個學習的過程也會有所收穫。
這是我之後會寫的文章的大概目錄,大家可以參考一下。
以下系列是暫定的,一篇文章可能會寫成好幾篇。這個系列不僅僅以學習為目的,目的是為了達到機器學習的工作入門標準。並不簡單,但努力就有可能。網上的教程我看了很多,路徑大部分都沒有錯。只是我覺得第一,太貴,明明網上有很多免費的更好的資源。第二,練習的量遠遠不夠達到能去找工作的標準。
目錄:
零基礎自學人工智慧系列(1):機器學習的最佳學習路徑規劃(親身經驗)
零基礎自學人工智慧系列(2):機器學習的知識準備(數學與python,附學習資源)
零基礎自學人工智慧系列(3):機器學習的知識準備(數學篇詳解)
零基礎自學人工智慧系列(4):機器學習的知識準備(python篇詳解)
零基礎自學人工智慧系列(5):機器學習的理論學習規劃(附資源)
零基礎自學人工智慧系列(6):深度學習的理論學習規劃(附資源)
零基礎自學人工智慧系列(7):機器學習的實戰操作(附資源和程式碼)
零基礎自學人工智慧系列(8):深度學習的實戰操作(附資源和程式碼)
零基礎自學人工智慧系列(9):找工作篇,需加強的部分(類似資料結構與演算法)
最後,我希望我能給大家樹立一些信心。不管你現在處於什麼水平,只要肯努力,什麼都有可能的。
-
3 # 盡興96
1、學習並掌握一些數學知識
高等數學是基礎中的基礎,一切理工科都需要這個打底,資料探勘、人工智慧、模式識別此類跟資料打交道的又尤其需要多元微積分運算基礎
線性代數很重要,一般來說線性模型是你最先要考慮的模型,加上很可能要處理多維資料,你需要用線性代數來簡潔清晰的描述問題,為分析求解奠定基礎
機率論、數理統計、隨機過程更是少不了,涉及資料的問題,不確定性幾乎是不可避免的,引入隨機變數順理成章,相關理論、方法、模型非常豐富。很多機器學習的演算法都是建立在機率論和統計學的基礎上的,比如貝葉斯分類器、高斯隱馬爾可夫鏈。
再就是最佳化理論與演算法,除非你的問題是像二元一次方程求根那樣有現成的公式,否則你將不得不面對各種看起來無解但是要解的問題,最佳化將是你的GPS為你指路
有以上這些知識打底,就可以開拔了,針對具體應用再補充相關的知識與理論,比如說一些我覺得有幫助的是數值計算、圖論、拓撲,更理論一點的還有實/複分析、測度論,偏工程類一點的還有訊號處理、資料結構。
2、掌握經典機器學習理論和演算法
如果有時間可以為自己建立一個機器學習的知識圖譜,並爭取掌握每一個經典的機器學習理論和演算法,我簡單地總結如下:
1) 迴歸演算法:常見的迴歸演算法包括最小二乘法(OrdinaryLeast Square),邏輯迴歸(Logistic Regression),逐步式迴歸(Stepwise Regression),多元自適應迴歸樣條(MultivariateAdaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing);
2) 基於例項的演算法:常見的演算法包括 k-Nearest Neighbor(KNN), 學習向量量化(Learning Vector Quantization, LVQ),以及自組織對映演算法(Self-Organizing Map , SOM);
3) 基於正則化方法:常見的演算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及彈性網路(Elastic Net);
4) 決策樹學習:常見的演算法包括:分類及迴歸樹(ClassificationAnd Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 隨機森林(Random Forest), 多元自適應迴歸樣條(MARS)以及梯度推進機(Gradient Boosting Machine, GBM);
5) 基於貝葉斯方法:常見演算法包括:樸素貝葉斯演算法,平均單依賴估計(AveragedOne-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN);
6) 基於核的演算法:常見的演算法包括支援向量機(SupportVector Machine, SVM), 徑向基函式(Radial Basis Function ,RBF), 以及線性判別分析(Linear Discriminate Analysis ,LDA)等;
7) 聚類演算法:常見的聚類演算法包括 k-Means演算法以及期望最大化演算法(Expectation Maximization, EM);
8) 基於關聯規則學習:常見演算法包括 Apriori演算法和Eclat演算法等;
9) 人工神經網路:重要的人工神經網路演算法包括:感知器神經網路(PerceptronNeural Network), 反向傳遞(Back Propagation), Hopfield網路,自組織對映(Self-OrganizingMap, SOM)。學習向量量化(Learning Vector Quantization, LVQ);
10) 深度學習:常見的深度學習演算法包括:受限波爾茲曼機(RestrictedBoltzmann Machine, RBN), Deep Belief Networks(DBN),卷積網路(Convolutional Network), 堆疊式自動編碼器(Stacked Auto-encoders);
11) 降低維度的演算法:常見的演算法包括主成份分析(PrincipleComponent Analysis, PCA),偏最小二乘迴歸(Partial Least Square Regression,PLS), Sammon對映,多維尺度(Multi-Dimensional Scaling, MDS), 投影追蹤(ProjectionPursuit)等;
12) 整合演算法:常見的演算法包括:Boosting, Bootstrapped Aggregation(Bagging),AdaBoost,堆疊泛化(Stacked Generalization, Blending),梯度推進機(GradientBoosting Machine, GBM),隨機森林(Random Forest)。
3、掌握一種程式設計工具,比如Python
一方面Python是指令碼語言,簡便,拿個記事本就能寫,寫完拿控制檯就能跑;另外,Python非常高效,效率比java、r、matlab高。matlab雖然包也多,但是效率是這四個裡面最低的。
5、買一個GPU,找一個開源框架,自己多動手訓練深度神經網路,多動手寫寫程式碼,多做一些與人工智慧相關的專案。
6、選擇自己感興趣或者工作相關的一個領域深入下去
人工智慧有很多方向,比如NLP、語音識別、計算機視覺等等,生命有限,必須得選一個方向深入的專研下去,這樣才能成為人工智慧領域的大牛,有所成就。
再回答第二個問題,人工智慧到底是不是一項技術?
根據百度百科給的定義,人工智慧(Artificial Intelligence),英文縮寫為AI。它是研究、開發用於模擬、延伸和擴充套件人的還能的理論、方法、技術及應用系統的一門新的技術科學。
百度百科關於人工智慧的定義詳解中說道:人工智慧是計算機的一個分支,二十世紀七十年代以來被稱為世界三大尖端技術之一(空間技術、能源技術、人工智慧)。也被認為是二十一世紀三大尖端技術(基因工程、奈米科學、人工智慧)之一。這是因為近三十年來它獲得了迅速的發展,在很多學科領域都獲得了廣泛應用,並取得了豐碩的成果,人工智慧已逐步成為一個獨立的分支,無論在理論和實踐上都已自成一個系統。
綜上,從定義上講,人工智慧是一項技術。
-
4 # 野豹財經
人工智慧需要學習的主要內容包括:數學基礎課學科基礎課,包括程式設計基礎、資料結構、人工智慧導論、計算機原理、數位電路、系統控制等;專業選修課,比如神經網路、深度學習以及認知科學、神經科學、計算金融、計算生物學、計算語言學等交叉課程。
-
5 # 小碼農常在
很榮幸曾經參加過一次江蘇省人工智慧論壇,論壇上認真聆聽了行業大佬周志華教授的報告,受益匪淺,首先呢,如果你是在校大學生,想要以後從事人工智慧專業相關工作,我這裡給你分享下南京大學人工智慧學院院長周志華教授曾經在論壇上分享的南京大學人工智慧專業本科生教育培養大綱的相關課程。
首先是基礎數學部分:
數學分析、高等數學、高等代數、機率論與數理統計、最最佳化方法、數理邏輯。
其次是學科基礎課程:
人工智慧導引、資料結構與演算法分析、程式設計基礎、人工智慧程式設計、機器學習導論、知識表示與處理、模式識別與計算機視覺、自然語言處理、數字系統設計基礎、作業系統。
專業方向課程:
泛函分析、數字訊號處理、高階機器學習、計算方法、控制理論方法、機器人學導論、多智慧體系統、分散式與平行計算。
專業選修課課程:
數學建模、矩陣計算、隨機過程、組合數學。博弈論及其應用、時間序列分析、編譯原理、隨機演算法、資料庫概論。
這是南京大學人工智慧學院本科生四年的課程安排,看起來課程非常多,但這是一個培養體系,現在國內只有南京大學針對人工智慧專業開設了如此係統的培養方案,專業涉及人工智慧的各個領域方向。學生可以根據自己的興趣愛好,選擇想要學習的領域方向。
如果你已經畢業,想要轉行從事人工智慧行業,那麼下面這套課程可能比較適合你:
1.莫煩python教程(百度可搜):莫煩python有很多專欄,可以學習到python基礎、以及人工智慧相關的軟體框架教程,包括相關人工智慧相關的一些實戰小專案。
2.吳恩達機器學習(網易雲課堂):人工智慧機器學習理論部分,非常適合零基礎的小白學習
3.吳恩達卷積神經網路(網易雲課堂):人工智慧深度學習理論部分,非常適合零基礎的小白學習
4.李飛飛CS231n(網易雲課堂):人工智慧深度學習和機器學習理論,適合有一定基礎的學習者。
5.吳恩達cs229(blibli):人工智慧深度學習和機器學習理論,適合有一定基礎的學習者。
這些基礎課程學會了,可能就算是跨入了半個門檻,當然面試的時候還欠缺實戰經驗,於是你可以去kaggle或者天池參加一些比賽,有了這些比賽經驗,簡歷上也算是多了一塊實戰經驗,增加了你的面試成功率。最後,不要參加什麼培訓機構區培訓,既花錢又學不到什麼東西,最後畢業還會給你簡歷造假,得不償失,我給你推薦的這些課程絕對比市面上99.99%的培訓機構課程靠譜!
-
6 # IT小敏同學
python人工智慧的學習一般包括四大階段:
第一階段學習Python核心程式設計,主要是Python語言基礎、Linux、MySQL,前期學習Python程式語言基礎內容;中期主要涉及OOP基礎知識,學習後應該能自己處理OOP問題,具有初步軟體工程知識並樹立模組化程式設計思想,以及瞭解什麼是資料庫以及相關知識。第二個階段主要是學習全棧開發,主要是Web程式設計基礎、Flask框架、Django框架、Tornado框架,這一部分主要是前端網站開發流程,培養方向是前端開發工程師或者是Web全棧開發工程師、Python開發工程師。第三階段是網路爬蟲,主要包括資料爬取、Scrapy框架專案、分散式爬蟲框架等,培養方向是Python爬蟲工程師。第四階段培訓的是人工智慧,主要是資料分析、機器學習、深度學習,能夠學到人工智慧領域中的影象識別技術,對行業中流行的資料模型和演算法有所瞭解,使用主流人工智慧框架進行專案開發,深入理解演算法原理與實現步驟。培養方向是資料分析師、演算法工程師、資料探勘工程師以及人工智慧工程師。 -
7 # 江西新華柚子
人工智慧亦稱智械、機器智慧,指由人制造出來的機器所表現出來的智慧。通常人工智慧是指透過普通計算機程式來呈現人類智慧的技術。透過醫學、神經科學、機器人學及統計學等的進步,有些預測則認為人類的無數職業也逐漸被人工智慧取代。
回覆列表
人工智慧是一個綜合學科,其本身涉及很多方面,比如神經網路、機器識別、機器視覺、機器人等,因此,我們想要學好整個人工智慧是很不容易的。
首先我們需要一定的數學基礎,如:高數、線性代數、機率論、統計學等等。很多人可能要問,我學習人工智慧為什麼要有數學基礎呢?二者看似毫不相干,實則不然。線性代數能讓我們瞭解如何將研究物件形象化,機率論能讓我們懂得如何描述統計規律,此外還有許多其他數學科目,這些數學基礎能讓我們在學習人工智慧的時候事半功倍。
然後我們需要的就是對演算法的累積,比如人工神經網路、遺傳演算法等。人工智慧的本身還是透過演算法對生活中的事物進行計算模擬,最後做出相應操作的一種智慧化工具,演算法在其中扮演的角色非常重要,可以說是不可或缺的一部分。
最後需要掌握和學習的就是程式語言,畢竟演算法的實現還是需要程式設計的,推薦學習的有Java以及Python。如果以後想往大資料方向發展,就學習Java,而Python可以說是學習人工智慧所必須要掌握的一門程式語言。當然,只掌握一門程式語言是不夠的,因為大多數機器人的模擬都是採用的混合程式設計模式,即採用多種程式設計軟體及語言組合使用,在人工智慧方面一般使用的較多的有彙編和C++,此外還有MATLAB、VC++等,總之一句話,程式設計是必不可少的一項技能,需要我們花費大量時間和精力去掌握。
人工智慧現在發展得越來越快速,這得益於計算機科學的飛速發展。可以預料到,在未來,我們的生活中將隨處可見人工智慧的產品,而這些產品能為我們的生活帶來很大的便利,而人工智慧行業的未來發展前景也是十分光明的。所以,選擇人工智慧行業不會錯,但正如文章開頭所說,想入行,需要我們下足功夫,全面掌握這個行業所需要的技能才行。