0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是機器學習?機器學習是如何工作的呢?

IEEE電氣電子工程師 ? 來源:lq ? 2019-01-12 10:05 ? 次閱讀

機器學習人工智能在近期最重要的發(fā)展之一。機器學習的理念是,不將智能看作是給機器傳授東西,而是機器會自己學習東西。這樣一來,機器就可以直接從經(jīng)驗(或數(shù)據(jù))中學習如何處理復(fù)雜的任務(wù)。

即使是相對簡單的機器學習算法也可以學習如何區(qū)分貓和狗的圖片。

隨著計算速度和用于編程的算法的巨大進步與發(fā)展,機器學習成長迅速。由此產(chǎn)生的算法對我們的生活開始產(chǎn)生重大影響,而且它們的表現(xiàn)往往勝過人類。那么,機器學習是如何工作的呢?

從經(jīng)驗中學習

在機器學習系統(tǒng)中,計算機通常是通過在相同任務(wù)的大型數(shù)據(jù)庫中進行訓練,然后自己編寫代碼去執(zhí)行一項任務(wù)。其中很大一部分涉及到識別這些任務(wù)中的模式,然后根據(jù)這些模式做出決策。

舉個例子,假設(shè)一家公司正要招聘一名新員工,在招聘廣告登出之后有1000個人申請,每個人都投了簡歷。如果要親自一個個篩選,這實在太多了,所以你想訓練一臺機器來完成這項任務(wù)。

為了做到這一點,你需要把公司過往的許多應(yīng)聘者的簡歷都記錄下來。對于每一份簡歷,你都有記錄表明這個人是否最終被聘用了。為了訓練機器,你拿出一半的簡歷,讓機器通過學習這些簡歷最終是否成功地申請到了一份工作來找出其中的模式。

這樣一來,當機器收收到一份簡歷時,它就可以對這個人是否適合被雇傭做出判斷。訓練完畢,就可以接著用另一半簡歷來對機器進行測試。如果它的成功率足夠高,也就是機器做出正確判斷的概率夠高,那么你就可以安心地讓機器根據(jù)一個人的簡歷來判斷他是否適合被聘用。在任何階段都不需要人的判斷。

具體細節(jié)

為了更清楚地理解機器學習的過程,我們將以開發(fā)能夠識別手寫數(shù)字的機器為具體例子來考慮模式識別的問題。這樣的機器應(yīng)該能夠準確識別一個字符所代表的數(shù)字,而無論它的書寫格式如何變化。

數(shù)字識別的過程分為兩個階段。首先,我們必須能夠?qū)⑹謱憯?shù)字的圖像掃描到機器中,并從這張(數(shù)字)圖像中提取出有意義的數(shù)據(jù)。這通常是通過主成分分析(PCA)的統(tǒng)計方法實現(xiàn)的,這種方法會自動提取圖像中的主要特征,例如圖像的長度、寬度、線條的交點等。這個過程與求解矩陣的本征值和本征向量的過程密切相關(guān),也與谷歌用來在萬維網(wǎng)上搜索信息的過程非常相似。

然后,我們想訓練機器從這些提取的特征中識別數(shù)字。一種非常主流的用來訓練機器的方法是神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)算法的最初靈感來源是我們認為的人類大腦的工作方式,但并不嚴格地建立在我們認為的人類大腦的工作方式之上。

首先要創(chuàng)建一組“神經(jīng)元”,并將它們連接起來,它們可以相互發(fā)送消息。接下來,讓神經(jīng)網(wǎng)絡(luò)去解決大量已經(jīng)知道結(jié)果的問題,這樣做能讓算法“學習”到應(yīng)該如何確定神經(jīng)元之間的連接,以便能成功地識別出數(shù)據(jù)中的哪些模式導致了正確的結(jié)果。

這種神經(jīng)網(wǎng)絡(luò)的一個早期例子是一種叫做感知機的單層系統(tǒng),人們用它來模擬單個神經(jīng)元。感知機的概念是由Frank Rosenblatt在1962年提出的,它的典型結(jié)構(gòu)如下圖所示:

向感知機輸入n個數(shù)字X1、X2......Xn。然后將每個Xi乘以一個加權(quán)wi,并將所有這些乘積相加,得到它們的和

w?X1+w?X2+...+wnXn

如果這個和大于某個閾值C,則返回1,其他情況則返回0。也就是說,如果

w?X1+w?X2+...+wnXn-C > 0,

那么,感知機返回1;如果

w?X1+w?X2+...+wnXn-C ≤ 0,

那么感知機返回0。

對于數(shù)字識別問題,數(shù)字圖像的提取特征就是輸入Xi,感知機的判斷是,這個數(shù)字是3還是4。訓練感知機的過程包括要找到合適的加權(quán)wi和閾值C,使得感知機能夠始終如一地識別出正確的數(shù)字。要做到這一點,需要謹慎使用基于統(tǒng)計的數(shù)學優(yōu)化算法。

舉例:數(shù)字識別

例如,假設(shè)我們僅從圖像中提取兩個特性:X1和X2,其中X1可能計算圖像中直線的數(shù)量,X2能計算圖像中線條交叉的次數(shù)。

現(xiàn)在,每個手寫數(shù)字(比如3或4)的圖像都有兩個數(shù)字來描述,因而可以定位在一個坐標系中。由于數(shù)字3通常沒有直線段,也沒有交叉線,它的圖像很可能對應(yīng)于坐標系中接近 (0,0) 的點。數(shù)字4有三條直線段和1個交叉點,它的圖像可能在點 (3,1) 附近。

對于給定的w?、w?和C,感知機中的和是

w?X1+w?X2-C,

讓這個式子等于0就定義了一條直線。如果感知機能用訓練的圖像找到w?、w?和C的值,使得這條直線將所有對應(yīng)于數(shù)字3的點與所有對應(yīng)于數(shù)字4的點分隔開來,那么,它也就有很大的概率能夠正確識別出新的數(shù)字圖像。如果存在這樣一條直線,則稱數(shù)據(jù)是線性可分的。

假設(shè)圖中紅色的點來自代表數(shù)字3的圖像,藍色的點來自代表數(shù)字4的圖像。如果算法使用C=2,X1=X2=1,則加權(quán)后的和等于0對應(yīng)于圖中的直線(w?+w?-2=0)。對于藍色的數(shù)據(jù)點,加權(quán)和大于零,對于紅色的數(shù)據(jù)點,加權(quán)和小于零,所以算法總是會給出這個數(shù)據(jù)集的正確答案。

如果數(shù)據(jù)點不能被一條直線分割,也就是說,數(shù)據(jù)不是線性可分的,那么可以把這些點擴展到一個更高的維度,并寄希望于在更高維空間它們是線性可分的。一個非常簡單的例子是,你可以將圖中的點拖拽出屏幕到第三個維度,拖拽的距離對應(yīng)于它們到點 (0,0) 的初始距離。但是,通常會使用的是更復(fù)雜的方法。當然,如果從原始數(shù)據(jù)中提取的特征是兩個以上,那么就可以在更高維度上使用類似的方法。

感知機方法也可以用于對貓和狗的圖像進行分類:

隨著訓練數(shù)據(jù)的增加,算法會更新其選擇的直線,也就是會改變常數(shù)C和加權(quán)w?、w?的數(shù)值。

神經(jīng)網(wǎng)絡(luò)和深度學習

簡單的感知機可以被訓練來完成許多簡單的任務(wù),但很快就會達到極限。顯然,將許多感知機耦合在一起就可以進行更多的計算,但這一發(fā)展必須等待更強大的計算機的出現(xiàn)。當多層感知機耦合起來形成一個神經(jīng)網(wǎng)絡(luò)時,這一重大突破就出現(xiàn)了。這種神經(jīng)網(wǎng)絡(luò)的典型結(jié)構(gòu)如下圖所示,它包括輸入層、隱藏層和輸出層。在這種情況下,輸入會組合起來以觸發(fā)感知機的第一層神經(jīng)元,由此產(chǎn)生的輸出也會組合起來以觸發(fā)下一層神經(jīng)元,最后,這些組合起來給出最終的輸出。

層數(shù)越多,神經(jīng)網(wǎng)絡(luò)就越“深”。然后,這樣一個神經(jīng)網(wǎng)絡(luò)就會通過為上面的神經(jīng)元之間的每個連接分配加權(quán)而得到訓練。這個過程是為了模仿大腦神經(jīng)通路強化或衰減的方式。深度學習描述了訓練這樣一個神經(jīng)網(wǎng)絡(luò)的過程。

事實上,神經(jīng)網(wǎng)絡(luò)算法之所以可能實現(xiàn),是由新的數(shù)學優(yōu)化算法的發(fā)展與強大的計算能力結(jié)合的結(jié)果。在為神經(jīng)網(wǎng)絡(luò)尋找合適的加權(quán)wi的過程結(jié)束之時,我們得到了一個黑箱,它可以非??焖俚剡\行并做出“決策”。

不同的機器學習方法

神經(jīng)網(wǎng)絡(luò)學習的過程有多種形式。

在監(jiān)督學習中,用戶會事先提供一組成對的實例,也就是輸入和輸出。然后,學習的目標是找到一個給出的輸出能與實例匹配的神經(jīng)網(wǎng)絡(luò)。通常,用來比較神經(jīng)網(wǎng)絡(luò)的輸出與實例的輸出的方法是計算兩者的均方誤差;然后對網(wǎng)絡(luò)進行訓練,讓這一誤差對所有訓練數(shù)據(jù)集最小化。這種方法的一個非常標準的應(yīng)用是在統(tǒng)計學中使用的曲線擬合,它對手寫數(shù)字和其他的模式識別問題都有很好的效果。

在強化學習中,數(shù)據(jù)不會由用戶事先給出,而是由神經(jīng)網(wǎng)絡(luò)控制的機器與環(huán)境交互作用時生成的。機器會在每個時間點上對環(huán)境執(zhí)行一個操作,由此生成一個觀察結(jié)果,以及這個操作的成本。然后訓練這個神經(jīng)網(wǎng)絡(luò)去選擇那些將總體成本降至最低的操作。在許多方面,這個過程類似于人類(尤其是小孩子)學習的方式。

近年來,機器學習的數(shù)學算法有了很大的發(fā)展。卷積神經(jīng)網(wǎng)絡(luò)(CNNs)就是一種令人興奮的、重要的新發(fā)展,它是對那些將圖像處理技術(shù)與深度神經(jīng)網(wǎng)絡(luò)結(jié)合的方法的擴展,可以應(yīng)用于人臉識別,甚至可以用來檢測情緒,現(xiàn)在還被用于包括醫(yī)學診斷在內(nèi)的許多其他領(lǐng)域。

為了更好地學習下國際象棋,AlphaZero使用了深度卷積神經(jīng)網(wǎng)絡(luò)。它的訓練是通過強化學習的方法,讓機器在24小時內(nèi)與自己對弈70萬局。過程中采用一種通用的蒙特卡羅樹搜索(MCTS)算法來分配加權(quán)。在學習下圍棋和日本將棋時采用的也是類似的方法,而且在每種情況下都達到了相似的水平。這是非常了不起的!

機器學習進展迅速,在更快的訓練算法和越來越多的數(shù)據(jù)的驅(qū)動下,發(fā)展更復(fù)雜、更深層神經(jīng)網(wǎng)絡(luò)的趨勢越來越明顯。但或許我們需要思考的問題是,把可能改變生命的決定(如醫(yī)學診斷)留給機器,這樣做安全且合乎道德嗎?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4789

    瀏覽量

    101611
  • 人工智能
    +關(guān)注

    關(guān)注

    1800

    文章

    48094

    瀏覽量

    242227
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8460

    瀏覽量

    133436

原文標題:什么是機器學習?

文章出處:【微信號:IEEE_China,微信公眾號:IEEE電氣電子工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    【下載】《機器學習》+《機器學習實戰(zhàn)》

    、Apriori算法、FP-Growth算法。第四部分介紹了機器學習算法的一些附屬工具。全書通過精心編排的實例,切入日常工作任務(wù),摒棄學術(shù)化語言,利用高效的可復(fù)用Python代碼來闡釋如何處理統(tǒng)計數(shù)據(jù),進行
    發(fā)表于 06-01 15:49

    最值得學習機器學習編程語言

    選擇最能滿足個人需求,以及保證自己將來能夠在 AI 和機器學習領(lǐng)域順利發(fā)展的編程語言。在本文中,我們將介紹最值得學習的 5 種編程語言,這些語言不僅能夠為機器
    發(fā)表于 03-02 06:22

    微型機器學習

    人工智能 AI 正在加快速度從云端走向邊緣,進入到越來越小的物聯(lián)網(wǎng)設(shè)備中。而這些物聯(lián)網(wǎng)設(shè)備往往體積很小,面臨著許多挑戰(zhàn),例如功耗、延時以及精度等問題,傳統(tǒng)的機器學習模型無法滿足要求,那么微型機器
    發(fā)表于 09-15 09:23

    什么是機器學習? 機器學習基礎(chǔ)入門

    本文旨在為硬件和嵌入式工程師提供機器學習(ML)的背景,它是什么,它是如何工作的,它為什么重要,以及 TinyML 是如何適應(yīng)的機器學習是一
    發(fā)表于 06-21 11:06

    Spark機器學習庫的各種機器學習算法

    科技和商業(yè)媒體報道,機器學習將防止全球變暖,顯然只有中國的新聞媒體才會發(fā)布類似的虛假新聞,可能機器學習能夠識別虛假新聞吧(與分類算法有關(guān))?事實上,
    發(fā)表于 09-28 16:44 ?1次下載

    什么是機器學習?機器學習能解決什么問題?(案例分析)

    隨著大數(shù)據(jù)時代的到來,機器學習成為解決問題的一種重要且關(guān)鍵的工具。不管是工業(yè)界還是學術(shù)界,機器學習都是一個炙手可熱的方向,但是學術(shù)界和工 業(yè)界對機器
    發(fā)表于 05-18 13:13 ?1.6w次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學習</b>?<b class='flag-5'>機器</b><b class='flag-5'>學習</b>能解決什么問題?(案例分析)

    機器學習正在改變我們的工作與生活

    機器學習是關(guān)于計算機基于數(shù)據(jù)構(gòu)建模型并運用模型來模擬人類智能活動的一門學科。隨著計算機與網(wǎng)絡(luò)的飛速發(fā)展,機器學習在我們的生活與工作中起著越來
    發(fā)表于 05-30 00:15 ?3885次閱讀

    機器學習是如何工作的? 人工智能與機器學習實例

    雖然機器學習算法是人工智能的一個應(yīng)用,但并非所有人工智能系統(tǒng)都被視為機器學習的示例。
    發(fā)表于 02-08 17:23 ?2118次閱讀

    機器學習可以分為哪幾類?機器學習技術(shù)有哪些?

    對自然語言、圖像、聲音、視頻等數(shù)據(jù)進行分析、分類、預(yù)測的重要方法之一。在日常生活和工作中,我們可以看到機器學習廣泛應(yīng)用于推薦系統(tǒng)、搜索引擎、語音識別、自然語言處理、計算機視覺、醫(yī)學診斷等領(lǐng)域。
    的頭像 發(fā)表于 08-17 16:11 ?6035次閱讀

    機器學習和深度學習的區(qū)別

    機器學習和深度學習的區(qū)別 隨著人工智能技術(shù)的不斷發(fā)展,機器學習和深度學習已經(jīng)成為大家熟知的兩個術(shù)
    的頭像 發(fā)表于 08-17 16:11 ?4479次閱讀

    機器學習算法匯總 機器學習算法分類 機器學習算法模型

    機器學習算法匯總 機器學習算法分類 機器學習算法模型 機器
    的頭像 發(fā)表于 08-17 16:11 ?1231次閱讀

    機器學習算法總結(jié) 機器學習算法是什么 機器學習算法優(yōu)缺點

    機器學習算法總結(jié) 機器學習算法是什么?機器學習算法優(yōu)缺點?
    的頭像 發(fā)表于 08-17 16:11 ?2127次閱讀

    機器學習算法入門 機器學習算法介紹 機器學習算法對比

    機器學習算法入門 機器學習算法介紹 機器學習算法對比 機器
    的頭像 發(fā)表于 08-17 16:27 ?1052次閱讀

    機器學習theta是什么?機器學習tpe是什么?

    機器學習theta是什么?機器學習tpe是什么? 機器學習是近年來蓬勃發(fā)展的一個領(lǐng)域,其相關(guān)技術(shù)
    的頭像 發(fā)表于 08-17 16:30 ?2152次閱讀

    機器學習有哪些算法?機器學習分類算法有哪些?機器學習預(yù)判有哪些算法?

    機器學習有哪些算法?機器學習分類算法有哪些?機器學習預(yù)判有哪些算法?
    的頭像 發(fā)表于 08-17 16:30 ?2156次閱讀