日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

數據無處不在。此時此刻,成千上萬的系統正在收集構成特定服務的歷史記錄、日志、用戶交互數據,以及許多其他相關元素。僅在幾十年前,大多數公司甚至無法有效地管理 1%的數據。出于這個原因,數據庫會被定期清理,只有重要數據才能永久存儲在服務器中。

而現如今,幾乎每家公司都可以利用可擴展的云基礎架構來應對不斷增長的數據量。Apache Hadoop或Apache Spark等工具允許數據科學家和工程師實現大數據的復雜傳輸。在這一點上,所有的障礙都被掃除,大眾化的進程已經到位。然而,這些大數據集合的真正價值又是什么呢?從商業角度看,信息只有在有助于做出正確決策、減少不確定性并提供更好的情境洞察時才有價值。這意味著,沒有合適的工具和知識,一堆數據對于公司來說只會增加成本,需要限制以增加利潤。

機器學習是計算機科學(特別是人工智能)的一個大分支,其目的是通過利用現有數據集來實現現實中描述性預測性的模型。由于本書致力于實用的無監督解決方案,我們將只關注通過尋找隱藏原因和關系來描述此類情況的算法。雖然僅從理論角度出發,也有助于展示機器學習問題之間的主要差異,但是只有對目標有完全的認識(不局限于技術方面),才能對最初的問題產生理性回答。這就是我們需要機器學習的原因。

我們可以說人類非凡的認知能力啟發了許多系統,但是當影響因素的數量顯著增加時,人類就缺乏分析技能了。例如,如果你是第一次與班級學生見面的老師,在瀏覽整個小組后你能粗略地估計女生的百分比。通常,即便是對兩個或更多人做出的估算,也可能是準確的或接近實際值的。然而,如果我們將全校所有人聚集在操場來重復這個實驗,性別的區分就顯得不那么明顯了。這是因為所有學生在課堂上都是一目了然的,但是在操場里區分性別會受到某些因素的限制(例如較矮的人會被較高的人遮擋)。拋開這一層因素,我們可以認為大量的數據通常帶有大量的信息。為了提取和分類信息,我們有必要采取自動化的方法。

在進入1.2.1節前,讓我們討論一下最初由高德納(Gartner)定義的描述性分析(Descriptive Analysis)、診斷性分析(Diagnostic Analysis)、預測性分析(Predictive Analysis)和規范性分析(Prescriptive Analysis)的概念。但是,在這種情況下,我們希望關注正在分析的系統(例如通用情況),以便對其行為進行越來越多的控制。

描述性分析、診斷性分析、預測性分析和規范性分析的流程如圖1-1所示。

為什么需要機器學習?

 

圖1-1 描述性分析、診斷性分析、預測性分析和規范性分析的流程

1.2.1 描述性分析

幾乎所有的數據科學場景中要解決的第一個問題都是了解其本質。我們需要知道系統如何工作或數據集描述的內容是什么。如果沒有這種分析,我們的知識又是有限的,將無法做出任何假設。例如我們可以通過圖表觀察一個城市幾年的平均溫度,但是如果我們無法描述發現現象的相關性、季節性、趨勢性的時間序列,其他任何問題就不可能被解決。在具體情況下,如果沒有發現對象組之間的相似性,就無法找到一種方法來總結它們的共同特征。數據科學家必須針對每個特定問題使用特定工具,但在此階段結束時,所有可能(以及有用的)的問題將得到解答。

此外,這個過程具有明確的商業價值,讓不同的利益相關者參與的目的是收集他們的知識并將其轉化為共同語言。例如在處理醫療保健數據時,醫生可能會談論遺傳因素,但就我們的目的而言,最好是某些樣本之間存在相關性,因此我們并未完全將它們視為統計上的獨立因素。一般而言,描述性分析的結果包含所有度量評估和結論的摘要,這些評估和結論是對某種情況進行限定和減少不確定性所必需的。在溫度圖表的例子中,數據科學家應該能夠解答自動關聯、峰值的周期、潛在異常值的數量以及趨勢的出現等問題。

1.2.2 診斷性分析

到目前為止,我們已經處理了輸出數據,這是在特定的基礎流程生成之后觀察到的。系統描述的自然問題與很多因素有關。溫度更多取決于氣象和地理因素,這些因素既易于觀測,又可以完全隱藏。時間序列中的季節性顯然受一年中的周期影響,但所出現的異常值又該如何解釋呢?

例如我們在一個處于冬季的地區發現了一個溫度峰值,我們怎樣才能證明它的合理性呢?在簡單的方法中,我們可以將其視為可過濾掉的噪聲異常值。但是,如果該值已經被觀察到并且有存在價值(例如所有各方都認為這不是錯誤),我們應該假設存在隱藏(或潛在)原因。

這可能是令人驚訝的,但大多數復雜的場景都具有大量難以分析的潛在原因(有時稱為因素)。總的來說,這不是一個糟糕的情況,但正如我們將要討論的那樣,將它們包含在模型中并通過數據集了解它們的影響是非常重要的。

另一方面,決定丟棄所有未知元素意味著降低模型的預測能力,并且會成比例地降低準確性。因此,診斷分析的主要目標不一定是找出所有因素,而是列出可觀察和可測量的因素(也稱為因子),以及所有的潛在因素(通常概括為單個全局因素)。

在某種程度上,因為我們可以輕松監控效果,診斷分析通常類似于逆向工程的過程,但要檢測潛在原因與可觀察效果之間存在的關系就較為困難。因此這種分析通常是概率性的,并且有助于找出某個確定的原因帶來特定影響的概率。這樣,排除非影響分量和確定最初排除的關系也更容易。然而,這個過程需要更深入的統計學知識,除了一些例子如高斯混合之外,這類分析將不會在本書中討論。

1.2.3 預測性分析

如果收集了整體描述性知識并且對潛在原因的認識已令人滿意,那么我們就可以創建預測模型了。創建預測模型的目的是根據模型本身的歷史和結構來推斷未來的結果。在許多情況下,我們將這個階段與下一個階段一起分析,因為我們很少對系統的自由演變感興趣(例如溫度將在下個月如何變化),而是對我們可以影響輸出的方式感興趣。

也就是說,我們只關注預測,考慮最重要的因素。第一個需要考慮的因素就是流程性質。我們不需要機器學習用于確定性過程,除非這些過程的復雜性太高以至于我們不得不將它們視為黑匣子。在本章將要討論的大多數例子都是無法消除不確定性的隨機過程。例如一天中的溫度可以建模為條件概率(例如高斯),具體取決于前面的觀測值。因此,預測不是將系統變為確定性系統,而是減少分布的方差,使概率只有在小的溫度范圍內,才會很高。另外,正如我們所知,許多潛在因素在幕后工作,該選擇會對最終的準確定性產生極大的不利影響,因此不能接受基于尖峰分布的模型(例如基于概率為1的單一結果)。

如果模型被參數化,變量受學習過程影響(例如高斯的均值和協方差矩陣),那么我們的目標是在偏差-方差權衡中找出最佳平衡。由于本章只是概述,我們不用數學公式講解概念,只需要一個定義即可(更多細節可以在Mastering machine Learning Algorithms一書中找到)。

定義統計預測模型的常用術語是估計量估計量偏差受不正確的假設和學習過程可測量的影響。換句話說,如果一個過程的平均值是5.0,但我們的估計量平均值為3.0,那就可以說該模型是有偏差的。考慮到前面的例子,如果觀測值和預測之間的誤差不為零,則我們使用有偏估計。重要的是要理解并不是說每個估計都必須有一個零誤差,而是在收集足夠的樣本并計算均值時,它的值應該非常接近零(只有無限樣本才能為零)。當它大于零時,就意味著我們的模型無法正確預測訓練值。很明顯,我們正在尋找無偏估計量,這些估計量基本上可以產生準確的預測。

另一方面,估計量方差可以衡量不屬于訓練集的樣本的魯棒性。在本節開頭,我們提到過程通常是隨機的。這意味著任何數據集都必須被視為從特定數據生成過程pdata中提取的。如果我們有足夠的代表性元素xiX,我們可以假設使用有限數據集X訓練分類器會生成一個模型,該模型能夠對從pdata中提取的所有潛在樣本進行分類。

例如如果需要對僅限于肖像的面部分類器進行建模(不允許進一步的面部姿勢),那么我們可以收集一些不同個體的肖像。建模過程需要關注的是不排除現實生活中可能存在的類別。假設我們有10000張不同年齡和性別的人物免冠照片,但沒有任何戴帽子的肖像。當系統投入生產時,就會收到客戶打來的電話,反映系統對許多圖片進行了錯誤分類。經過分析,會發現發生錯誤分類的是戴帽子的人。顯然,這個肖像模型對錯誤不負責,因為它用僅代表數據生成過程的一個區域的樣本進行訓練。因此,為了解決問題,我們要收集其他樣本,并重復訓練。但是,現在我們決定使用更復雜的模型,希望它能更好地運行。結果我們觀察到更差的驗證準確性(例如在訓練階段未使用子集的準確性)以及更高的訓練精度。這里發生了什么?

當估計量學會完美地對訓練集進行分類但是對未見過的樣本分類能力較差時,我們可以說它是過擬合的,并且其方差對于特定任務來說太高(反之,一個欠擬合模型則具有較大的偏差,并且所有預測都非常不準確)。直觀地講,該模型對訓練數據過于了解,已經失去了概括能力。為了更好地理解這個概念,讓我們看一下高斯數據的生成過程,如圖1-2所示。

為什么需要機器學習?

 

圖1-2 高斯數據的生成過程(實線)和樣本數據的直方圖

如果訓練集沒有以完全統一的方式,采樣或者部分不平衡(某些類的樣本比其他類少),或者模型過度擬合,則結果可能由不準確的分布表示,如圖1-3所示。

為什么需要機器學習?

 

圖1-3 不準確的分布

在這種情況下,模型會被迫學習訓練集的細節,直到它從分布中排除了許多潛在的樣本。該結果不再是高斯分布,而是雙峰分布,此時一些概率會偏低。當然,測試和驗證集是從訓練集未覆蓋的小區域中采樣的(因為訓練數據和驗證數據之間沒有重疊),因此模型將在其任務中失敗,從而提供完全錯誤的結果。

換句話說,模型已經學會了處理太多細節而導致方差太高,在合理的閾值范圍內增加了不同分類的可能性范圍。例如從肖像分類器可以了解到,戴藍色眼鏡的人是年齡范圍在 30~40 歲的男性(這是不切實際的情況,因為細節水平通常非常低,但是對了解問題的本質是有幫助的)。

可以總結一下,一個好的預測模型必須具有非常低的偏差和適當低的方差。不幸的是,通常不可能有效地最小化這兩個值,因此我們必須接受平衡。

具有良好泛化能力的系統可能具有較高的偏差,因為它無法捕獲所有細節。相反,高方差允許非常小的偏差,但模型的能力幾乎限于訓練集。在本書中,我們不打算討論分類器,但是你應該完全理解這些概念,以便理解在處理項目時可能遇到的不同行為。

1.2.4 規范性分析

這樣做的主要目的是回答以下問題:如何影響系統的輸出?為了避免混淆,最好將這個概念翻譯成純機器學習語言,因此問題可能是獲得特定輸出需要哪些輸入值?

如1.2.3節所述,此階段通常與預測性分析合并,因為模型通常用于這兩個任務。但是,在某些特定情況下,預測僅限于空輸入演變(例如在溫度示例中),并且必須在規定階段分析更復雜的模型。主要在于控制影響特定輸出的所有因素。

有時,當沒有必要時,我們就只做表面分析。當原因不可控時(例如氣象事件),或者當包含全局潛在參數集更簡單時,就會發生這種情況。后一種選擇在機器學習中非常普遍,并且已經開發了許多算法,在已存在潛在因素(例如EM或SVD推薦系統)的情況下仍能夠高效工作。出于這個原因,我們并沒有關注這一特定方面(這在系統理論中非常重要),同時,我們隱含地假設模型有研究不同輸入產生許多可能輸出的能力。

例如在深度學習中,我們可以創建反向模型來生成輸入空間的顯著映射,從而強制產生特定的輸出類。以肖像分類器為例,我們可能有興趣發現哪些視覺因素會影響類的輸出。診斷性分析通常對此是無效的,因為原因非常復雜并且其水平太低(例如輪廓的形狀)。因此,反向模型可以通過顯示不同幾何區域的影響來幫助解決規范性問題。然而,完整的規范性分析超出了本書的范圍,在許多情況下,也沒有必要使用規范性分析,因此不會在后續章節中考慮這樣的步驟。現在讓我們來分析不同類型的機器學習算法。

本文摘自《Python無監督學習》

分享到:
標簽:機器 學習
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定