外行人都能看得懂的機器學習,錯過了血虧!
本文由雲+社群發表
作者:Java3y
前言
只有光頭才能變強
沒錯,這篇主要跟大家一起入門機器學習。作為一個開發者,”人工智慧“肯定是聽過的。作為一個開發面試者,肯定也會見過”機器學習“這個崗位(反正我校招的時候就遇到過)。
可能還會聽過或者見過“深度學習”、“神經網路”等等這些非常火的名詞,那你對這些術語瞭解多少呢?
相信大家這幾天在朋友圈也可以看到這照片:
核心AI程式碼
// 通過if else 以人工窮舉的方式來假裝實現智慧機器人聊天
希望閱讀完本文中後,大家可以對這些術語和機器學習有一定的瞭解。
一、術語介紹
首先我們來簡單看看人工智慧、深度學習、機器學習這些術語和它們之間的關係究竟是怎麼樣的。
1.1人工智慧
不知道聽到“人工智慧”大家會聯想到什麼,可能大多數都會想到科幻電影的機器人。
《人工智慧》電影的劇照
我們看來看看維基百科的定義:
人工智慧(英語:Artificial Intelligence,縮寫為 AI)亦稱機器智慧,指由人制造出來的機器所表現出來的智慧。通常人工智慧是指通過普通計算機程式的手段實現的人類智慧技術。
人工智慧也可以分成兩類:
-
強人工智慧:強人工智慧觀點認為“有可能”製造出“真正”能推理(Reasoning)和解決問題的智慧機器,並且,這樣的機器將
被認為是具有知覺、有自我意識的
。
- 像絕大多數科幻電影中的機器人就是在這範疇
-
弱人工智慧:弱人工智慧觀點認為“不可能”製造出能“真正”地推理和解決問題的智慧機器,這些機器只不過
“看起來”像是智慧
的,但是並不真正擁有智慧,也不會有自主意識。
- 我們目前階段的人工智慧,其實都是弱人工智慧。
1.2機器學習
不知道聽到“機器學習”大家會聯想到什麼。Emmm…反正我就是從字面的意思去理解:“機器可以自我學習”。
首先我們看一下維基百科是怎麼說的:
機器學習是實現人工智慧的一個途徑,即以機器學習為手段解決人工智慧中的問題。機器學習在近30多年已發展為一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、計算複雜性理論等多門學科
簡單來說:機器學習可以通過大量的資料或者以往的經驗自動改進計算機程式/演算法。
什麼是機器學習
生成完模型f(x)
之後,我們將樣例資料丟進模型裡邊,就可以輸出結果:
輸入樣例進模型,輸出結果
我們說機器學習可以自我學習,是因為我們會將樣例資料也會丟到“歷史資料”中,這樣生成模型就會有一定的改動,從而達到“自我學習”的效果。
1.3它們之間的關係
等等,我們好像還沒講深度學習呢。我們從上面機器學習的介紹也可以知道,機器學習已發展為一門多領域交叉學科,機器學習中就有好多個經典的演算法,其中就包含了神經網路(深度學習可看成是神經網路的升級版)。由於近幾年深度學習發展迅猛,一些特有的學習手段相繼被提出,所以越來越多的人將其單獨看作一種學習的方法。
《機器學習 周志華》:
所謂深度學習,狹義地說就是“很多層”的神經網路,在若干測試和競賽下,尤其涉及語音、影像等複雜物件的引用中,深度學習取得優越的效能。
所以我們可以總結出人工智慧、機器學習、深度學習之間的關係是這樣的:
- 機器學習,是實現人工智慧的重要方法。
- 深度學習,是實現機器學習的技術。
之間的關係
想要了解更多,可參考:
- 人工智慧、機器學習和深度學習的區別?
二、機器學習入門
通過上面我們可以簡單認為機器學習就是:利用計算機從歷史資料找出規律,把這些規律用到未來不確定場景的決策中。
下面我們再來學習一下機器學習的一些入門知識。
2.1機器學習的術語
特徵、樣本、資料集、標記這些術語的說明:
特徵、樣本、資料集、標記這些術語的說明
特徵(屬性)所張成的空間叫做特徵空間。
特徵空間
例如我們把“色澤”、"根蒂“、”敲聲“作為三個座標軸,則它們張成一個用於描述西瓜的三圍空間,每個西瓜都可在這個空間中找到自己的座標位置。由於空間中的每個點對應一個座標向量,我們也把一個示例稱為“特徵向量”。
特徵向量
回到我們上面的圖,再來講講“訓練資料”、“訓練”、“標記”:
“訓練資料”、“訓練”、“標記”的術語解釋
2.2機器學習的分類
一般機器學習又可以分成以下幾類:
- 監督學習
- 半監督學習
- 非監督學習
- 增強學習
2.2.1監督學習
監督學習:訓練資料(Training Data)可以告訴我們要找的那個模型的輸入(Input)與輸出(Output,也就是我們說的label)之間有什麼樣的關係。
- 給出的資料都有“答案”或“標記”
訓練資料:"Java3y公眾號"->好的公眾號 , "Java4y公眾號"->不好的公眾號。 輸出結果:好的公眾號或者不好的公眾號
在監聽學習下又分為兩種演算法:
- 迴歸(Regression):結果是一個連續的數值(scalar),而非類別
- 分類(Classification):為訓練資料進行分類別(多分類)
- 二分類:類別只有兩種結果(YES OR NO)
迴歸例子:知道前幾天的PM2.5數值,預測一下明天的PM2.5數值。
迴歸例子
二分類例子:判斷一封郵件是垃圾郵件還是正常郵件。
判斷是垃圾郵件還是正常郵件
多分類例子:將新聞帖子分類成不同的類別。
分類成不同的類別
2.2.2非監督學習
非監督學習:訓練資料(Training Data)沒有對應“答案”或“標記”
訓練資料:"Java3y公眾號" "Java4y公眾號" "Java5y公眾號" "Java6y公眾號" "yyy公眾號" "xxx公眾號" "zzz公眾號" 輸出結果:("Java3y公眾號" "Java4y公眾號" "Java5y公眾號" "Java6y公眾號") ("yyy公眾號" "xxx公眾號" "zzz公眾號") 分門類別
對沒有“標記”的資料進行分類-聚類分析
對沒有“標記”的資料進行分類-聚類分析
聚類分析例子:在以前,中國移動有三個品牌:神州行、動感地帶、全球通。我們給一堆的SIM卡交由學習演算法訓練,不告訴它每張SIM卡具體是什麼卡,最後我們是可以將這些SIM卡分類別出來的。
非監督學習的意義
非監督學習的意義
非監督學習的意義
2.2.3半監督學習
理解了監督學習和非監督學習,對於半監督學習就很容易理解了。
一部分資料有“標記”或者“答案”,另一部分資料沒有
- 因為各種原因產生的標記缺失。
部分有label,部分沒有label
通常都會使用非監督學習手段對資料進行處理(特徵提取、降維),之後再只用監督學習手段做模型的訓練和預測。
2.2.4增強學習
根據周圍環境的情況,採取行動,根據採取行動的結果,學習行動方式
增強學習
每次行動,就給這次的行動評分,演算法會根據評分來評估下一次的行動是好還是壞,最終不斷改進。
給每次的行動評分
例子:Alpha Go下每步棋的時候都會評估自己這次下得怎麼樣,通過最終的結果不斷改進下的每步棋。
2.3機器學習的其他分類
除了我們上面所說的監督學習、非監督學習、半監督學習、增強學習之外,機器學習也可以分成:
-
線上學習:
及時
將樣例資料作為訓練資料對模型進行訓練。
- 需要加強對資料進行監控(有可能樣本資料是髒資料,這樣就破壞我們的模型)
-
離線(批量)學習:
定時
將樣例資料作為訓練資料對模型進行訓練。
- 不能很快的適應環境的變化
還有:
- 引數學習:一旦學到了引數,就不再需要原有的資料集。通過調引數就好了。
- 非引數學習:不對模型進行過多的假設,非引數不代表沒引數。
最後
機器學習的核心在於演算法上,這篇只是對機器學習的一個簡單的入門,希望能對大家有所幫助。
此文已由騰訊雲+社群在各渠道釋出
獲取更多新鮮技術乾貨,可以關注我們騰訊雲技術社群-雲加社群官方號及知乎機構號
相關文章
- 外行人都能看懂的SpringCloud,錯過了血虧!SpringGCCloud
- ?外行人都能看懂的WebFlux,錯過了血虧!WebUX
- 不吹不黑!GitHub 上幫助人們學習編碼的 12 個資源,錯過血虧...Github
- 小白都能看得懂的java虛擬機器記憶體模型Java虛擬機記憶體模型
- 外行人都能看懂的SpringCloud講解SpringGCCloud
- 圖解機器學習:人人都能懂的演算法原理圖解機器學習演算法
- 機器學習中的過擬合機器學習
- 開發者玩轉機器學習不能錯過的15篇深度文章!機器學習
- 機器人都能理解英語從句了 - Dylan機器人
- 機器學習,看完就明白了機器學習
- 文科生都能看懂的【機器學習中的】線性代數機器學習
- 【乾貨整理】演算法+資料結構+計算機基礎(計網+MySQL+作業系統)優質文章,錯過了血虧演算法資料結構計算機MySql作業系統
- 機器學習 拜占庭容錯方法: Bulyan機器學習
- 機器學習之過擬合的風險機器學習
- 從統計到機率,入門者都能用Python試驗的機器學習基礎Python機器學習
- [譯] 通過整合學習提高機器學習結果機器學習
- 不要錯過第一款基於機器學習的冒險遊戲機器學習遊戲
- 機器學習實驗出錯總結機器學習
- 搭建容易維護難!谷歌機器學習系統血淚教訓谷歌機器學習
- 【機器學習】機器學習簡介機器學習
- 大家都能看得懂的原始碼(一)ahooks 整體架構篇原始碼Hook架構
- 機器學習導圖系列(3):過程機器學習
- 從統計到概率,入門者都能用Python試驗的機器學習基礎Python機器學習
- 機器學習中的元學習機器學習
- 機器學習最困難的部分:超引數除錯機器學習除錯
- OPPO手機如何投屏到電視上?這份投屏指南沒收藏就血虧了
- SLAM +機器學習迎來了“感知時代”SLAM機器學習
- IDEA 2020.3 更新了,機器學習都整上了Idea機器學習
- [python學習]機器學習 -- 感知機Python機器學習
- 機器學習–過度擬合 欠擬合機器學習
- 【機器學習】--Python機器學習庫之Numpy機器學習Python
- 大型機器學習【Coursera 史丹佛 機器學習】機器學習
- (一) 機器學習和機器學習介紹機器學習
- 機器學習-整合學習機器學習
- 如何學習機器學習機器學習
- 基於機器學習的糾錯系統技術 - 智慧文字糾錯 API機器學習API
- 【機器學習】深度學習與經典機器學習的優劣勢一覽機器學習深度學習
- 機器學習整合學習—Apple的學習筆記機器學習APP筆記