
個人簡介
??本人本科畢業于某985機械工程專業,學習了四年發現這個行業實在太過于枯燥,更實際的想法是當時覺得這個行業出去薪資待遇過低,因此保研到另一所985高校之后,選擇了車輛工程專業,研究方向為:多車協同控制,多車編隊駕駛,想著畢業之后能去一家做自動駕駛的公司,但是由于種種原因畢業之后沒能進入到比較好的自動駕駛公司,去了一家做車聯網的互聯網企業(這個時候V2X領域剛發展起來不久,處于非常熱門的階段),2020年大半年的時間里主要負責C-V2X協議堆疊的開發以及基于V2X通信相關的預警演算法開發,今年由于專案的原因開始接觸激光雷達、相機等傳感器標定演算法的開發以及基于這些傳感器實作高精度地圖的建圖演算法開發,在碩士畢業的這一年半的時間里,還是很迷茫,一直是專案需要什么,就學習什么,然后就開始做,雖然接觸了很多新的東西,但一直覺得自己學得不夠深入,專案做完了就結束了,
?? 因此,經過深思熟慮,我決定以后專注于人工智能方向的學習,每天不管多忙一定抽出一點時間學習該方向的知識,并且記錄下來跟C站的各位大佬們一起學習交流,共同進步,希望看到本篇文章的各位能夠點贊、關注一下博主,我會定期分享我的學習心得,保證每篇文章都干貨滿滿,非常硬核!!!今天發表這篇文章就是想激勵一下自己,希望自己能堅持下去,今天剛好也是1024程式員節,希望以后每年的今天都能看到自己的進步,看到更加專業的自己,文章當中如果各位大佬發現錯誤,也歡迎積極指出!!!
如何學習人工智能
??要回答這個問題,首先必須要知道人工智能到底是什么,包含了哪些具體的研究領域,我們經常會聽到人工智能、機器學習和深度學習這三個術語,很多人可能說不清楚這三個詞之間到底是什么關系,它們的區別又是什么,這里先給大家科普一下,三者之間的關系可以用下面這幅圖來說明,

??人工智能是一門新理論、新技術、新方法和新思想不斷涌現的前沿交叉學科,它是在控制論、資訊論和系統論的基礎上誕生的,涉及哲學、心理學、語言學、神經生理學、認知科學、計算機科學、資訊科學、系統科學、數學以及各種工程學方法,這些學科為人工智能的研究提供了豐富的知識和研究方法,作為一門前沿交叉學科,人工智能的研究領域十分廣泛,涉及機器學習、資料挖掘、知識發現、模式識別、計算機視覺、專家系統、自然語言理解、自動定理證明、自動程式設計、智能檢索、多智能體、人工神經網路、博弈、機器人學、智能控制、智能決策支持系統等領域,相關研究成果也已廣泛應用到生產、生活的各個方面,
??機器學習(ML)是人工智能的核心,也是使機器具有智能的根本途徑,學習是人類最重要的能力,通過學習,人們可以解決過去不能解決的問題,機器學習是研究機器怎樣模擬或實作人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能,只有讓計算機系統具有類似人的學習能力,才有可能實作人類智能水平的人工智能系統,因此,機器學習在人工智能中起著舉足輕重的作用,機器學習是人工智能研究的核心問題之一,是當前人工智能理論研究和實際應用的非常活躍的研究領域,
??深度學習(DL)則是機器學習的一個分支,在很多人工智能問題上,深度學習的方法突破了傳統機器學習方法的瓶頸,推動了人工智能領域的快速發展,
??從上面可以看出,人工智能領域涉及的分支實在是太多太多,不可能全都涉獵,因此,本人未來很長一段時間將主要集中在深度學習分支的學習,
學習人工智能需要哪些知識
??本人并不想直接就上手DL的學習,一方面本人目前不著急證明自己,暫時還不考慮換作業,因此有足夠的時間來扎實自己的基礎,這樣更有益于后面對DL或者ML的深入學習,對于學習人工智能而言,本人認為最基礎的學科知識主要涉及數學和計算機,各種人工智能技術歸根結底都建立在數學模型之上,要了解人工智能,首先要掌握必備的數學基礎知識,如利用線性代數將研究物件形式化、通過概率論描述資料的統計規律等,另外,還需要對DL或者ML的各種基礎知識、基本理論和經典演算法進行不斷的學習和積累,像神經網路、支持向量機、遺傳演算法等,隨著科技的進步,更先進的新演算法也在不斷涌現,這些都需要我們不間斷地學習并將之應用于業務實踐中,
??下面先列出DL或者ML中一些常用的演算法,如下表所示,
| 演算法 | 概述 |
|---|---|
| 線性回歸 ( L i n e a r R e g r e s s i o n ) (Linear Regression) (LinearRegression) | 線性回歸是一種通過屬性的線性組合來進行預測的線性模型,其目的是找到一條直線、一個平面或更高維的超平面,使預測值與真實值之間的誤差最小化 |
| Logistic 回歸 ( L o g i s t i c R e g r e s s i o n ) (Logistic Regression) (LogisticRegression) | Logistic 回歸是一種分類模型,如二分類公式: P ( Y = 1 ∣ x ) = e x p ( w ? x ) 1 + e x p ( w ? x ) P\left ( Y=1 \mid x \right ) = \frac{exp\left ( w\cdot x \right )}{1+exp\left ( w\cdot x \right )} P(Y=1∣x)=1+exp(w?x)exp(w?x)? P ( Y = 0 ∣ x ) = 1 1 + e x p ( w ? x ) P\left ( Y=0 \mid x \right ) = \frac{1}{1+exp\left ( w\cdot x \right )} P(Y=0∣x)=1+exp(w?x)1? 根據給定的輸入實體 x x x,分別求出 P ( Y = 1 ∣ x ) P\left ( Y=1 \mid x \right ) P(Y=1∣x) 和 P ( Y = 0 ∣ x ) P\left ( Y=0 \mid x \right ) P(Y=0∣x),比較這兩個條件概率,將實體 x x x 分到概率值較大的那一類 |
| 決策樹 ( D e c i s i o n T r e e ) (Decision Tree) (DecisionTree) | 決策樹從根節點開始對輸入實體 x x x 的每一個特征進行測驗,根據測驗結果決策樹將 x x x 分配到其子節點,每個子節點對應著該特征的一個取值,如此遞回地對進行測驗并分配,直至達到葉節點,最后將 x x x 分到葉節點的類中,通常特征選擇的準則是資訊增益或資訊增益比 |
| 支持向量機 ( S u p p o r t V e c t o r M a c h i n e , S V M ) (Support Vector Machine , SVM) (SupportVectorMachine,SVM) | SVM的基本模型是二類分類模型,屬于有監督學習,是在特征空間中找出一個超平面作為分類邊界,對資料進行正確分類,且使每一類樣本中距離分類邊界最近的樣本到分類邊界的距離盡可能遠,使分類誤差最小化 |
| 樸素貝葉斯 ( N a i v e B a y e s ) (Naive Bayes) (NaiveBayes) | 在輸入實體 x x x 的特征相互獨立的前提下,根據下面的貝葉斯公式,預測結果屬于類別的出現概率,哪個類別的后驗概率最大,就認為該實體 x x x 屬于哪個類別 P ( C i ∣ F 1 F 2 . . . F n ) = P ( F 1 F 2 . . . F n ∣ C i ) P ( C i ) P ( F 1 F 2 . . . F n ) , i = 1 , 2 , . . . , m P\left ( C_{i} \mid F_{1}F_{2} ...F_{n} \right ) = \frac{P\left ( F_{1}F_{2} ...F_{n} \mid C_{i} \right )P\left ( C_{i}^{} \right )}{P\left ( F_{1}F_{2} ...F_{n} \right )},i=1,2,...,m P(Ci?∣F1?F2?...Fn?)=P(F1?F2?...Fn?)P(F1?F2?...Fn?∣Ci?)P(Ci?)?,i=1,2,...,m |
| K K K最近鄰演算法 ( K ? N e a r e s t N e i g h b o r s , K N N ) (K-Nearest Neighbors,KNN) (K?NearestNeighbors,KNN) | K K K 最近演算法會給定一個訓練資料集,對新的輸入實體 x x x,演算法會在訓練資料集中找到與 x x x 最鄰近的 k k k 個實體,如果這 k k k 個實體大多數屬于同一個類,就把實體 x x x 也分到這個類中,距離函式可以是歐式距離、曼哈頓距離、明式距離或漢明距離 |
| 隨機森林 ( R a n d o m F o r e s t , R F ) ( Random Forest , RF) (RandomForest,RF) | 隨機森林指的是利用多棵樹對樣本進行訓練并預測的一種分類器,它的基本單元是決策樹,每棵決策樹并不完全相同,采用多個決策樹的投票機制來決定最終分類,隨機森林的構建包括資料的隨機性選取和待選特征的隨機選取 |
| 降維演算法 ( D i m e n s i o n a l i t y R e d u c t i o n ) (Dimensionality Reduction) (DimensionalityReduction) | 在機器學習中經常會碰到高維資料集中、資料樣本稀疏、距離計算易出現特征之間的線性相關等困難,這時需要做降維處理,降維方法有很多,主要包括主成分分析(PCA)、線性判別分析(LDA)等 |
| AdaBoost 演算法 ( A d a p t i v e B o o s t i n g ) (Adaptive Boosting) (AdaptiveBoosting) | AdaBoost 是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)的迭代演算法,每一次迭代時,提高那些被前一輪分類器錯誤分類的資料的權值,降低那些被正確分類的資料的權值,最后將基本分類器的線性組合作為強分類器,給分類誤差小的基本分類器以大的權重,給分類誤差大的基本分類器以小的權重 |
| 最大期望演算法 ( E x p e c t a t i o n M a x i m i z a t i o n A l g o r i t h m , E M ) (Expectation Maximization Algorithm, EM) (ExpectationMaximizationAlgorithm,EM) | EM演算法是針對含有隱變數的概率模型 P ( X , Z ∣ θ ) P\left ( X,Z\mid \theta \right ) P(X,Z∣θ)來估計引數 θ \theta θ的選代演算法、 X X X 是觀測變數的資料, Z Z Z 是隱變數的資料, O O O 是模型引數,基本思想是首先隨機初始化引數 θ \theta θ、然后不斷迭代尋找更優的引數 θ \theta θ,每次迭代包括兩步: E E E 步以當前引數 θ ( i ) \theta ^{\left ( i \right )} θ(i) 推斷隱變數分布 P ( Z ∣ X , θ i ) P\left ( Z\mid X, \theta ^{i} \right ) P(Z∣X,θi),并計算出對數似然 l n P ( Z ∣ X , θ i ) ln^{P\left ( Z\mid X, \theta ^{i} \right )} lnP(Z∣X,θi)關于 Z Z Z 的期望,記作 Z i Z^{i} Zi; M M M步基于已觀測變數 X X X 和當前隱變數 Z i Z^{i} Zi 對引數 θ ( i ) \theta ^{\left ( i \right )} θ(i) 做最大似然估計,使每次代得到的引數 θ \theta θ 的似然函式 P ( X ∣ θ ) P\left ( X\mid \theta \right ) P(X∣θ)比原來的似然函式大, |
??上面總結的演算法可能還不全面,后面隨著學習的深入會慢慢更新,上面的很多演算法可能很多人現在還看不懂,不要著急,跟著我一起學習,那么將來的你一定會感謝現在努力學習的你!!!
??從演算法實踐的角度來看,我們還需要掌握至少一門人工智能的編程語言,例如被稱為機器學習最優秀的語言 Python,具有語法簡潔、易讀易學、可移植性好、有豐富的庫支持等優點, Python 采用強制縮進的方式也使代碼具有極佳的可讀性,用 Python 做科學計算的研究機構日益增多,一些知名大學已經采用 Python 來教授程式設計課程,眾多開源的科學計算軟體包都提供了 Python 的呼叫介面,而 Python 專用的科學計算擴展庫更多,經典的科學計算擴展庫 NumPy 、 SciPy 和 Matplotlib分別為 Python 提供了快速陣列處理、數值運算及繪圖功能, Python 語言及其眾多的擴展庫所構成的開發環境十分適合工程技術人員、科研人處理實驗資料、制作圖表,甚至開發科學計算應用程式,另外, Python 完全免費,大家可以在任何計算機上免費安裝 Python 及其絕大多數的擴展庫,
??雖然本人自認為自己的數學功底還不錯,高考140+,本科參加全國大學數學建模競賽國一,國際數學建模競賽一等獎,但是很多知識點因為平時很少用,已經忘記得差不多了,因此接下來一段時間,我將首先再復習一遍微積分、矩陣理論、線性代數以及概率論等等,希望想學習人工智能方向的各位小伙伴也能跟我一起學習,扎實自己的數學功底,這一部分數學公式實在是太難編輯了,希望看到本篇文章的各位小伙伴能夠三連支持一下!!!我也會在這篇博客實時更新我的學習目錄,希望大家收藏起來哦!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/336153.html
標籤:AI
上一篇:2021云棲大會丨阿里云發布第四代神龍架構,提供業界首個大規模彈性RDMA加速能力
下一篇:多智能體強化學習入門
