—— 原文發佈於本人的微信公衆號「大數據與人工智能Lab」(BigdataAILab),歡迎關注。算法
機器學習算法能夠分爲3種:有監督學習(Supervised Learning)、無監督學習(Unsupervised Learning)和強化學習(Reinforcement Learning),以下圖所示:微信
有監督學習、無監督學習、強化學習具備不一樣的特色:機器學習
有監督學習是有一個label(標記)的,這個label告訴算法什麼樣的輸入對應着什麼樣的輸出,常見的算法是分類、迴歸等;函數
無監督學習則是沒有label(標記),常見的算法是聚類;學習
強化學習強調如何基於環境而行動,以取得最大化的預期利益。大數據
強化學習(Reinforcement Learning)靈感來源於心理學中的行爲主義理論,即有機體如何在環境給予的獎勵或懲罰的刺激下,逐步造成對刺激的預期,產生能得到最大利益的習慣性行爲。優化
這個方法具備普適性,所以在其餘許多領域都有研究,例如博弈論、控制論、運籌學、信息論、模擬優化方法、多主體系統學習、羣體智能、統計學以及遺傳算法。人工智能
強化學習採用的是邊得到樣例邊學習的方式,在得到樣例以後更新本身的模型,利用當前的模型來指導下一步的行動,下一步的行動得到reward以後再更新模型,不斷迭代重複直到模型收斂。在這個過程當中,很是重要的一點在於「在已有當前模型的狀況下,若是選擇下一步的行動纔對完善當前的模型最有利」,這就涉及到了RL中的兩個很是重要的概念:探索(exploration)和開發(exploitation),exploration是指選擇以前未執行過的actions,從而探索更多的可能性;exploitation是指選擇已執行過的actions,從而對已知的actions的模型進行完善。對象
強化學習最重要的3個特色是:ci
(1)基本是以一種閉環的形式;
(2)不會直接指示選擇哪一種行動(actions);
(3)一系列的actions和獎勵信號(reward signals)都會影響以後較長的時間。
強化學習決策實現過程須要設定一個agent(圖中的大腦部分),Agent可以接收當前環境的一個observation(觀察),Agent還能接收當它執行某個action後的reward,而環境environment則是agent交互的對象,它是一個行爲不可控制的對象,agent一開始不知道環境會對不一樣action作出什麼樣的反應,而環境會經過observation告訴agent當前的環境狀態,同時環境可以根據可能的最終結果反饋給agent一個reward,它代表了agent作出的決策有多好或者有多很差,整個強化學習優化的目標就是最大化累積reward。
在強化學習中,有四個很是重要的概念:
(1)規則(policy)
Policy定義了agents在特定的時間特定的環境下的行爲方式,能夠視爲是從環境狀態到行爲的映射,經常使用π來表示。policy能夠分爲兩類:
肯定性的policy(Deterministic policy): a=π(s)
隨機性的policy(Stochastic policy): π(a|s)=P[At=a|St=t]
其中,t是時間點,t=0,1,2,3,……
St∈S,S是環境狀態的集合St表明時刻t的狀態,s表明其中某個特定的狀態;
At∈A(St),A(St)是在狀態St下的actions的集合,At表明時刻t的行爲,a表明其中某個特定的行爲。
(2)獎勵信號(a reward signal)
Reward就是一個標量值,是每一個time step中環境根據agent的行爲返回給agent的信號,reward定義了在該情景下執行該行爲的好壞,agent能夠根據reward來調整本身的policy。經常使用R來表示。
(3)值函數(value function)
Reward定義的是當即的收益,而valuefunction定義的是長期的收益,它能夠看做是累計的reward,經常使用v來表示。
(4)環境模型(a model of the environment),預測environment下一步會作出什麼樣的改變,從而預測agent接收到的狀態或者reward是什麼。
總之,強化學習做爲一個序列決策(Sequential Decision Making)問題,它須要連續選擇一些行爲,從這些行爲完成後獲得最大的收益做爲最好的結果。它在沒有任何label告訴算法應該怎麼作的狀況下,經過先嚐試作出一些行爲——而後獲得一個結果,經過判斷這個結果是對仍是錯來對以前的行爲進行反饋。
歡迎關注本人的微信公衆號「大數據與人工智能Lab」(BigdataAILab),獲取更多資訊