機器學習(一)之基本概念

2021-10-09 22:32:05 字數 3687 閱讀 6496

機器學習的前言研究

這裡我想先提出5個問題?然後通過學習依次來解決它們?

使用日常生活中的例子說明:機器學習所對應的哪些問題/任務?

以路徑規劃(高德地圖)為例,說明機器學習演算法與傳統的演算法相比,其優勢是什麼?

機器學習、資料探勘、人工智慧、大資料的聯絡和區別是什麼?

機器學習現在很火,以後會降溫嗎?為什麼?

你認為機器學習以後會如何發展?

其實,機器學習就是自動找函式!!!

那麼,現在的問題就是你要找什麼樣的函式?你希望機器幫你找出什麼樣的函式?

隨著你找的函式的不同,我們有不同的機器學習的任務。

舉例來說,我們的第乙個作業叫做 regression,the output of function is a scalar(數值)。

比如,我們要讓機器**未來某個時候的 pm2.5 數值,那麼要做的事情就是找乙個 function,那麼這個 function 的輸入是一些過去的跟 pm2.5 有關的資訊等等。輸出就是明天某個時候的 pm2.5 的值(該輸出是乙個數值)。那麼這樣的乙個任務就叫做 regression。

還有乙個任務叫做 binary classification。如果你今天要找的函式只有乙個輸出,它的輸出只有兩種可能,yes or no。這就叫做 binary classification。

比如,我們的輸入是乙個句子,輸出是這個句子是正面的還是負面的。那麼這個任務就是 binary classification。

還有一種任務叫做 multi-class classification。即是說我們要找的 function 它有乙個輸出,它的輸出是讓機器做乙個選擇題,先定好 n 個class(n個選項),然後從 n 個選項中選出乙個正確的,這就叫做 multi-class classification。

比如,我們輸入一張,我們讓機器識別出這張是乙個麵包,還是乙個蛋,還是一碗湯呢?這是乙個 multi-class classification 的問題。

很多的教科書中只會告訴你,所謂機器學習,就是兩大類的任務,乙個是 regression(輸出乙個數值),另乙個就是 classification(讓機器做選擇題)。如果你只知道機器學習只有 regression 和 classification,就像你只知道世界只有五大洲一樣。其實,世界不止有五大洲,在五大洲外面還有個黑暗大陸。這個就叫做 generation(生成),即產生有結構的複雜東西(例如:文句,等等),這個任務我們叫做 generation。其實這個過程就是讓機器學習怎麼做?

比如,我們讓機器進行翻譯,翻譯就是產生文句。還有乙個作業就是讓機器畫圖,比如產生二次元人物。這些都是讓機器 generation(創造)的過程。

那麼,這裡有乙個問題。怎麼告訴機器你想找什麼樣的函式?

一種很常見的做法叫做 supervised learning(監督學習)。比如我心裡已經想好了我要輸入一張,輸出是這張屬於什麼樣的乙個類別。

那麼,我們怎麼告訴機器我們要找的函式是什麼樣子呢?首先,你得給機器一些 labeled data(序列資料)。

提供給機器有 label 的資料進行學習,這件事情叫做 supervised learning。那麼,你提供了資料給機器學習,機器是怎樣進行學習呢?

你提供給機器這些有 label 的資料之後,接下來機器就可以評估乙個函式的好壞。即機器會給函式乙個 loss,用來辨別這個函式的好壞。那麼機器是怎麼判斷你這個函式的好壞呢?它會把你提供的這個資料(比如你提供的這些)放到函式中,然後這個函式會給我們每一張的輸出。比如,把上圖的4張放入乙個函式 f1 中,它的輸出都是 「dog」,但是在我們的4張中只有兩張是狗,其餘兩張是貓,這個 function 只答對了一半問題。那麼我們可以計算出該函式的 loss = 50%。

假設我們重新設計了乙個 function,它的輸出全部正確,那麼我們可以說該 function 的 loss = 0%。那麼該 function 就是我們心裡要找的 function。

那麼,下一步就是機器會自動找出 loss 最低的函式。

其實,機器學習不止有以上所說的 supervised learning(監督學習),還有一種 reinforcement learning(強化學習)。那麼這兩種學習方法的區別是什麼呢?

比如我們要讓機器學習下圍棋。

而我們熟知的 alpha go is supervised learning + reinforcement learning。

接下來,機器怎麼找出你想要的函式?給定函式尋找範圍

在前兩個作業(regression 和 classification)裡面,我們假定我們要找的函式就是乙個 linear 的 function。在之後的作業,我們整個函式的搜尋範圍就是 network architecture。其中兩個比較經典的 network architecture 架構就是 rnn 和 cnn。那麼給定範圍之後,怎麼從範圍中找出最好的 function 呢?函式尋找方法——gradient descent(梯度下降法)。在 regression and classification 裡面。要求 implement the algorithm by yourself。而在其它作業裡面會使用現成的 deep learning framework。

以上都是說的機器學習的基本概念。下面我們來說說機器學習的前沿研究。

比如什麼是explainable ai。比如,今天我們都知道機器可以做影象識別,你給它一張,它會告訴你這張裡面有乙隻貓。但是,它能不能告訴我們它認為裡面有貓的理由是什麼呢?為什麼它覺得這張是乙隻貓呢?這個就是 explainable ai 這個作業會學到的事情。

還有乙個前沿的研究是adversarial attack(對抗攻擊)。比如,如今的影色辨像系統已經非常的強健,即使你加入一些雜訊,它還是可以得到正確的結果。但是 adversarial attack 是說如果人類懷著惡意去攻擊這個系統,會發生什麼事情?如果我們加的雜訊不是一般的雜訊,而是刻意製造的雜訊,它就會使這個機器崩潰,可能會把貓變成其它動物。這個就是在 adversarial attck 這個作業會學到的東西。

另外更近一步,我們會談到network compression(網路壓縮)。如今的i影色辨像系統雖然可以達到很高的正確率,但是這個有非常大的 network,大到無法放到手機裡面,那麼 network compression 要做的事情就是我們有沒有辦法將這個 network 縮小,這就是 network compression 這個作業要做的事情。

機器學習基本概念

什麼是學習?如果乙個系統能夠通過執行某個過程改進它的效能,這就是學習。赫爾伯特 西蒙 什麼是機器學習?對於某給定的任務 t 在合理的效能度量方案 p的前提下,電腦程式可以通過自主學習任務 t 的經驗 e 隨著提供合適,優質,大量的經驗 e 該程式對於任務 t的效能逐步提高。任務,經驗,效能 什麼是統...

機器學習基本概念

1.基本的概念 領域集 乙個任意的集合 集合中的例項是我們希望能夠貼上標籤的資料。的元素稱為例項。標籤集 學習器所追求的結果集合。可以為,器想要得到的最終資料。訓練資料 帶標籤的領域及元素集合,通常會組成乙個區域性聚合s,也叫作訓練集。2.機器學習的一般流程 採集資料 標記 訓練 得到 器 乙個學習...

機器學習基本概念

1.基本概念 訓練集 測試集 特徵值 監督式學習 非監督學習 半監督學習 分類 回歸 2.概念學習 概念學習是指從某個布林函式的輸入輸出訓練樣例中推斷出該布林函式。3.樣例 天氣 溫度 濕度 風力 水溫 預報 享受運動 1 晴 暖 普通 強 暖 一樣 是 2 晴 暖 大 強 暖 一樣 是 3 雨 冷...