02 機器學習理性認識

理性看待機器學習,不吹不黑。
本章對一些機器學習的術語進行介紹,還將對一些常用的參數符號進行解釋,后文里不再贅述。

1、輸入與輸出

在機器學習過程中,首先我們要喂給機器很多數據,然后機器根據一定的算法給出結果。這是一個包含了輸入和輸出的過程。

輸入:我們稱之為屬性值Attributes,或稱之為特征Feature,統(tǒng)計學中稱之為變量Variable。為了統(tǒng)一概念,后續(xù)文章里對機器學習的輸入我們稱都其為特征。

輸出:最終需要預測的信息,稱其為目標Target。

2、特征表現(xiàn)方式

比如一份體檢報告中,我們想預測一個人是男是女。這些體檢報告中的數據稱之為特征,其中可能包括身高、體重、腰圍,這三個變量,并為之設三個變量:x1、x2、x3
注意下標的方式,為了以后的文章里統(tǒng)一概念,一般幾號特征就定義其下標是多少。

比如,小明的體檢報告:用 x小明 來表示。

比如,小明的體重:用 x2小明 或 x體重小明 來表示。

3、造物主的公式

終極目標:我們想要得到一個特征與目標之間的映射:
理想公式 (造物主公式) f:特征值 → 目標值

為了實現(xiàn)理想公式,我們將大量的數據喂給機器,并指揮機器不斷學習和優(yōu)化。
輸入數據:D={(x1,y1),(x2,y2),(x3,y3), …… ,(xn,yn)}(歷史記錄信息)

最終獲得了最優(yōu)性能假設公式 g:特征值 → 目標值 (學習得到的最終公式)

最優(yōu)性能假設公式形成后,再輸入新的特征值便可直接獲得對應的目標值。尋找這種映射的過程是我們工作的核心內容。

然而事實上,我們真的得到理想公式了么?理想公式到底是什么?只有造物主才能百分百的確定。我們使用機器學習最后得到的算法,最多只能說是盡可能得去接近于造物主創(chuàng)造的映射公式,我們做不到完美,只能靠機器學習去獲得一個最優(yōu)性能假設的公式。
再比如后續(xù)會提到機器學習模型調參的操作,不斷調整參數的過程就是為了找到一個更加優(yōu)秀的映射關系來解釋造物主公式的過程。

所以,機器學習中無法獲得一個完美的造物主公式。
4、機器學習概念

定義:對于某給定的 \color{red}{任務T} ,在合理的 \color{red}{性能度量方案P} 的前提下,某計算機程序可以自主學習任務T的 \color{red}{經驗E} ; 隨著提供合適、優(yōu)質、大量的經驗E,該程序對于任務T的性能逐步提高。

例:蓋一個金茂大廈是我的 "任務T" ,一些用來檢驗我蓋的樓像不像金茂大廈的方式稱為 “合理的性能度量P” ,"經驗E" 是我們按照圖紙蓋樓的磚。當磚足夠多的時候,不斷反復的蓋樓,這張蓋樓的圖紙不斷優(yōu)化,最后蓋出來的樓也越來越像金貿大廈。這張蓋樓的圖紙是最后的產物,即上文提到的 "最優(yōu)性能假設公式”。

從機器學習的概念轉化為實際的開發(fā)思路:

算法T:根據業(yè)務需要和數據特征,選擇則相關的算法。
模型E:基于數據和算法構建出來的模型。
評估/測試(P):對模型進行評估的策略。

機器學習步驟: 算法 → 模型 → 評估 → 算法

機器學習是人工智能的一個分支。機器學習的思路是:根據大量的訓練數據,按照一定的方式來指導機器學習;隨著機器訓練次數的增加不斷得學習和改進,最終使得學習模型能夠用于預測相關問題的輸出。拿之前蓋樓的例子來說,我們要不斷得修改圖紙的內容,使其越來越像金茂大廈。

5、向量和矩陣

在機器學習中,如果定義了一個向量,那么一定是列向量,多個列向量組成一個矩陣。

下圖是一個3行2列的矩陣,3行代表有3個體檢報告的樣本(維度是3),2列代表每個體檢報告的樣本包含2個特征。

身高 體重
175 70
160 58
85 77

將樣本數據傳入最優(yōu)性能假設公式進行計算,得出了目標值:判斷樣本數據的所有者是男是女。1代表男,0代表女。

身高 體重 目標
175 70 1
160 58 0
85 77 1

x(i) 表示第i個樣本的x向量。即一個樣本的值 ,包含一組特征 (身高,體重)
xi 表示x向量的第i維度的值。即一個特征的所有值(x2=體重向量)

6、魯棒性

Robwst,翻譯成中文是穩(wěn)健性、健壯性的意思。當存在異常數據的時候,算法也會擬合數據。簡單的說,系統(tǒng)能夠識別出異常的數據,不會讓它影響到計算的結果。

魯棒性強,意味著異常數據對系統(tǒng)的影響較小。魯棒性差,意味著一旦出現(xiàn)了異常數據,模型會去迎合這些異常數據,使結果收到干擾。

7、過擬合和欠擬合

\color{red}{過擬合:}算法太符合樣本的特征,對于實際的數據特征反而無法擬合。

拿之前體檢樣本的例子來說,如果有一天來體檢的全是女子籃球隊的,人人一米八、一米九的身高。算法如果太擬合這份樣本數據,按照這樣去計算,那大街上就沒幾個男人了。

\color{red}{欠擬合:}算法不太符合樣本的數據特征。

如果本來計算的目標就是想預測女籃的身高,但是算法結果中表明女籃平均身高是一米五、一米六的。這顯然低于普遍的女籃身高,這種現(xiàn)象稱為算法欠擬合。

總體來說,過擬合是在訓練集上表現(xiàn)出色,但是在測試集上表現(xiàn)不好。而欠擬合在訓練集上的表現(xiàn)就已經不太好了,自然都不用拿測試集去驗證了。

8、常見的應用框架

scikit-learn(Python)
http://scikit-learn.org/stable/

后續(xù)文章主要介紹的是scikit-learn框架。
安裝scikit-learn的方法:
1、 安裝Anaconda3
2、 打開Anaconda-Prompt
3、 輸入pip install scikit-learn
4、導入該庫的指令 import sklearn
具體的安裝方法日后可以看我的AI-開發(fā)工具文集,里面會詳細介紹。

以下兩種是基于大數據處理的框架,暫時不作介紹。
Mahout(Hadoop,基于MapReduce)
http://mahout.apache.org/

Spark MLlib
http://spark.apache.org/

9、商業(yè)場景

\color{red}{機器學習:}模式識別、數據挖掘、統(tǒng)計學習
\color{red}{深度學習:}圖像識別、語音識別、自然語言處理

數據分析、數據挖掘、機器學習之間的區(qū)別和聯(lián)系

\color{red}{數據分析:}對海量的數據進行分析,并提取有用的信息,以及形成結論。是一種對數據詳細研究和概括的過程。實際工作中可以幫助人們做出判斷,數據分析一般而言可以分為統(tǒng)計分析、探索性數據分析、驗證性數據分析三大類。

其中統(tǒng)計分析和驗證性數據分析在機器學習中也會用到。需要我們對數學統(tǒng)計中的概念有基本的認知。比如中位數、方差、均值、特征值之間的協(xié)方差等等,都需要了解,對樣本的初步瀏覽過程就是探索性分析。驗證性數據分析是對結果是否合理進行分析,在機器學習中就是不斷地判斷模型的效果指標是否在提升。

\color{red}{數據挖掘:}一般值從大量數據中通過算法搜索隱藏于其中信息的過程。通常通過統(tǒng)計、檢索、機器學習、模式匹配等諸多方法來實現(xiàn)這個過程。

涉及面非常廣,很多時候企業(yè)有數據卻不知道從何下手。數據挖掘就是從毫無頭緒的數據中大膽預測并分析出有價值的信息。

\color{red}{機器學習:}是數據分析和數據挖掘的一種比較常用、比較好的手段。

工作中會遇到一些坑:比如有些客戶提出做一些數據分析的需求,但是客戶不懂技術,給的數據又少又亂,很多時候還需要提醒客戶補充一些必要的數據。從客戶立場上來說,數據即是金錢。客戶透露的數據越多,損失就越大。因此做人工智能相關的工作非??简灩こ處煹臏贤芰Γ刂瓶蛻舻钠谕?,充分告訴客戶我們分析的產物能夠為企業(yè)提供哪些幫助、我們做的模型比別人好在哪里。

10、機器學習分類

\color{red}{有監(jiān)督學習:} 有目標值,標簽化訓練數據。

判別式模型:對條件概率進行建模。線性回歸、決策樹等。
生成式模型:對聯(lián)合分布概率進行建模。隱馬爾可夫、LDA等。

生成式模型適用面更廣,關注數據是如何產生的,尋找的是數據的分布模型。
判別式模型更直接,目標性比較強。只想看看某個條件的情況下的分布是什么樣的。關注的是數據的差異性,尋找的是分類面。

因此生成式的模型可以轉化成判別式的模型,反之則不行。在后文具體模型中進一步細說,面試中考官有時會問某個模型屬于生成式還是判別式,記住這點即可。

\color{red}{無監(jiān)督學習:} 無目標值,為了推斷出數據的一些內在結構,一種探索性分析的過程。

\color{red}{半監(jiān)督學習:} 利用少量標注樣本和大量未標注樣本進行訓練和分類的問題。發(fā)展不是很完整,和流形學習有點關系,本文集不做討論。

機器學習能做的四件事 - 分類、回歸、聚簇、降維

結語

很想直接進入算法的部分,但是覺得在深入介紹之前,我們還是要把鋪墊做做充分。

昨天就有人問我這次寫的文集是僅僅搞理論,還是會深入進去研究?我的回答是:落地。但是學習人工智能的過程和學習JAVA開發(fā)不同,不是簡單看幾行代碼,查兩幾份資料就能迅速入門的。所以我花了點心思設計了幾個例子讓大家管中窺豹,對機器學習的工作有大概的理解。也許有不貼切的地方,但隨著日后的文章,從多個角度進行分析,相信大家的認知會越來越深刻。

大略如此,其實過之。由淺入深,方能入門。最后祝大家中秋節(jié)快樂!
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容