機器學習系統簡介

2021-09-21 18:22:24 字數 4325 閱讀 8636

以下段落旨在更詳細地介紹 ml 系統如何呈現自身以及當今與現實世界中的應用程式開發相關的主要挑戰。

ml 系統主要有三類:

這些標準不是相互排斥的,可以根據場景的需要進行組合:自動駕駛機器可以利用 ml 監督學習系統,通過批量學習學習,並通過統計模型 「思考」 允許它做出短期**(「前面的機器正在制動,我很快就會啟用制動器」)。

監督:最常見的學習模式是監督學習。它包括通過包含所需解決方案的資料來訓練系統:這些解決方案稱為標記。

「標記」 資料的示例可以是具有所分配的汽車模型(標記)的汽車影象(實際資料)。

一旦 ml 系統接受了資料及其標記的訓練,系統就可以輸入新的影象並輸出其(假定的)標記!在分配正確的標記時衡量系統 「技能」 的指標是多種多樣的,將在不同的指南中進行更詳細的檢查。

可以通過監督學習解決的兩個最常見的任務是分類和回歸。分類問題包括為新輸入分配離散標記。它可以是數值或類別(例如,如果它代表狗或貓,則給出),但無論如何,它包含在明確定義的選項集中。

回歸的問題在於為新資料分配連續值,例如給定一年中某個時刻的溫度(顯然,溫度是指定值,由於實際原因是有限的,例如 29.34° ,但回歸的想法是輸出包含在連續的區間而不是有限的集合中。

我們將用於解釋基於模型的模型和基於例項的模型之間的差異的示例是回歸問題的典型示例(在這種情況下是線性的,因為直線函式很好地接近我的點分布)。

但是,如果它發現模型被程式設計為不返回數字,而是返回乙個類別?例如,它可以將**分類為 「高」,「中」,「低」,如果在輸入中我們已將此標記與資料集的每個例項相關聯。**輸出標記(而不是連續值)的問題稱為分類。

典型的例子是在數千隻狗和貓的影象資料集上訓練的模型,並學習如何分類在這兩個類別之一中提供的新**。分類模型可以學習區分任意數量的類,只要它們具有相當雄心勃勃且具有代表性的資料集!

通常,分類模型預見連續值作為屬於每個輸出類的給定示例的概率。概率可以解釋為模型對給定示例屬於每個類的置信度。通過選擇具有最高概率的類的標記,可以將**概率轉換為類值。

但是,通常情況下,現實世界中收集的資料沒有標記(稍後我們將看到此問題如何影響本文件中的工作)。

然而,在這種情況下,可以應用 ml 技術,其不需要知道它們上的資料正在處理什麼,並且試圖形成 「單獨」 重要標記。這是無監督學習

例如,讓我們假設我們有乙個超市銷售資料集,其中包含客戶購買的所有商品。你可以通過將經常購買的物品分組並選擇將它們放在附近的貨架上來提取商業建議,或者如果你購買其它商品,則可以打折。無監督學習也被用作監督學習的補充,以探索資料(即使已經標記)並找到其它型別的未被注意的分組(從而增加我們對資料集的每個單獨例項的知識量)。

強化學習是完全不同的東西。在這種情況下,學習系統被稱為**,學習通過觀察周圍的世界(通過某種感測器),執行動作並基於某種獎勵(獎勵)來評估它們(良好的行動 / 不良行為)來解決問題。 。

智慧型體的設計旨在使其自身得到改善,調整行動中的行動引數,並爭取獲得更大和更大的回報。

強化學習在機械人技術中被大量使用,例如機械人通過從錯誤中逐漸學習來學習在周圍環境中移動(通過撞擊牆壁來降低獎勵,而在機械人無碰撞地移動時增加獎勵,鼓勵它避免物件)。

學習模式:

推理型別:

對 ml 系統進行分類的最後一種方法是如何推理。

基於模型的系統旨在建立知識表示(模型),然後用於生成輸出。基於例項的系統不會從看不見的輸入中推理,而是將其與所有先前的資料(儲存在儲存器中)進行比較,並在它們中找到其 「理想排列」,即它們試圖將資料放置在正確的點上。乙個例子對於理解這種差異非常有用。

場景:

給定一系列座標(資料:x,y)構成我們的 「知識」 ,嘗試給定乙個新點的 x,了解哪個 y 是最合適的。

策略可以是將點的 x 值與已知點的值進行比較,根據距離獲取最近的已知點,並將其 y 指定給新點。

instance.png

然而,這種方法非常簡單,並且基於強烈的假設,即新點的位置由其最近鄰居單一地確定。

系統 「通過心」 學習其知識並盲目地將其應用於新案例,應用與儲存的那些相關的一些相似度(在這種情況下,相對於維度 x 的距離)。

可以用來從舊的案例開始泛化新案例的另一種方法可以是建立我所製作資料的 「表示」 或「想法」(圖 4 中的灰點)並使用這個「想法」 「(模型)產生新點的 y.

因此,模型是一組引數,如果適當調整,在給定新點的 x 的情況下,可以給出 y 的良好估計。在我們的例子中,我們想象我們的模型是最接近灰色系列的直線。我們的引數是線的斜率和截距,模型的訓練過程包括理解這兩個引數的數值是什麼。

機器學習模型,這裡是最簡單的版本(兩個引數),有時由數萬甚至數百萬個引數組成。為了訓練它們,並因此找到引數的 「好的值」,需要大量的計算能力,並且訓練模型的過程的優化是乙個由衷的和緊迫的研究課題。

機器學習的關鍵假設是,你擁有訓練模型所需的資料,並在以後使用它們來解決問題。

可能會發生這樣的情況:在現實世界中,你擁有的資料不足以訓練模型以準確識別可能對問題有意義的模式。

即使對於簡單的問題,也需要數千個示例,並且對於諸如影象識別或語音識別的複雜問題,可能需要數百萬個示例。

各種組織正在努力建立開放資料平台以共享資料集,並允許開發其它無法實現的應用程式。

標記問題(監督學習的標記資料)至關重要。 cloudfactory 或 aws mechanical turk 等服務旨在通過將需要勞動力的組織與標記資料以及員工本身聯絡起來來滿足這一需求。此類服務具有某些限制,例如標記的準確性和執行標記所需的時間。

用於訓練模型的資料的另乙個常見問題是它們的質量差。丟失,格式不正確甚至不正確的資料對於機器學習專案來說可能是致命的。理想情況下,應直接生成高質量的資料,但專案通常是在現有(和低質量)資料上啟動的。

因此,開發 ml 應用程式的最重要(也是耗時!)步驟之一是資料預處理。預處理資料報括清理資料並為我們必須訓練的機器學習模型做好準備:我們刪除單個損壞的示例,我們調整字串的格式並管理缺失的字段(缺失值)。預處理階段完全依賴於上下文,可以採用非常不同的形式。

在這個階段,我們通常會嘗試增加我們使用的資料集的大小:例如,如果我們有乙個影象資料集,我們可以考慮將每個影象的副本新增到資料集中,但是在旋轉 90° 的版本中,或被某種噪音模糊。這種稱為資料增強的技術對於提高應用程式的穩健性特別有用(因為模型經過訓練可以看到損壞 / 失真的影象並且無論如何都能識別它們),但通常不新增 「新資訊」,這只能是用額外的資料實現。

通常,你也可能遇到不具代表性的資料:乙個模型,為了有效地泛化,必須看到涵蓋大多數情況的各種案例(資料),並以現實的方式表現現實。

例如,讓我們考慮一年中不同日期收集的溫度資料集。任務是**一年中的溫度。如果我們只有 11 月的溫度,模型如何發現 4 月的溫度模式?更糟糕的是,如果特定的十一月特別熱,因此沒有代表性,我們冒險得到乙個模型,做出誤導性的**!

考慮乙個暗示事實,即隨機模型(例如,在 [temp.min - temp.max] 範圍內生成隨機數)可以輕鬆獲得比在不具代表性的資料上訓練的模型更好的效能!

當我們選擇的模型過於簡單(幾個引數)以有效地表示資料集的泛化時,就會發生欠擬合問題,因此無法捕獲資料**現的模式。例如,如果我們想使用線性模型對狗和貓的影象進行分類,我們可能會得到不可接受的表現,因為線性模型無法捕捉我們訓練它的資料的複雜性。通常,欠擬合的解決方案在於嘗試訓練更複雜的模型(例如神經網路,其甚至可以具有數百萬個引數),這可以 「考慮」 所有可能在選擇中具有權重的變數輸出。例如,在 64 x 64 畫素的影象中,有 4096 個可能的點會影響結果!引數很少的模型很難處理這種複雜性。

過擬合的概念發生在與剛剛解釋的相反的情況下,即當模型對於所分配的任務看起來 「太複雜」 時。例如,以房屋**為例訓練神經網路將是無效的,因為網路將很好地學習來表示資料集,結果模型僅僅是資料的儲存!遭遇過擬合的模型不能很好地泛化,因為它不能 「分離」 它所知道的世界的唯一表示,或者它所訓練的資料集。

模型的複雜性(可修改的引數數量),可用資料量和任務難度之間的權衡是模型體系結構選擇背後的關鍵概念之一。

下圖是乙個圖,表示三種不同的情況,如果輸入的二維座標中的乙個點是紅色或藍色,則模型必須進行分類:

希望現在你應該更加熟悉如何對 ml 系統進行分類的高階想法,你應該清楚地知道分類和回歸任務是什麼。

由 clone95 撰寫

原文:

機器學習簡介

機器學習簡介 機器學習是人工智慧的乙個分支。人工智慧的研究是從以 推理 為重點到以 知識 為重點,再到以 學習 為重點,一條自然 清晰的脈絡。顯然,機器學習是實現人工智慧的乙個途徑,即以機器學習為手段解決人工智慧中的問題。機器學習在近30多年已發展為一門多領域交叉學科,涉及概率論 統計學 逼近論 凸...

機器學習 簡介

機器學習,即人工智慧的乙個分支,人工智慧目前具有一定的限制,無法突破強人工智慧,即無法像人類一樣思考,感受等。機器學習其實就是通過大量的資料輸入,找出符合資料集的演算法模型,在輸入新的資料集時在進行判斷其屬性,是數學 計算機和統計學的集合。類似於人類的學習經驗,使用經驗判斷的過程。機器學習在於區分和...

機器學習簡介

機器學習101 在這篇博文中,我們將從以下幾個方面簡要地向大家介紹一下機器學習。如果你不是這方面的專家,也不需要擔心,因為在這篇博文中談及的內容僅需要高中的數學知識就足夠了。什麼是機器學習?牛津詞典將機器學習定義為 the capacity of a computer to learn from e...