圖書館借了本機器學習,作者是:tom m.mitchell,亞馬遜這本書排名挺靠前的。
好了,直接開篇。
接下來大篇幅講述了,如何挑選訓練經驗,選擇目標函式,目標函式的表示,選擇函式逼近演算法。
整個設計下來,分為了四大模組:執行系統、鑑定器、泛化器、實驗生成器。
看過這本書的都會被第一章的跳棋學習深深吸引了,從豆瓣上面就可以看出來,那麼接下來就從四大模組進行講述。
任務:下跳棋
標準:取勝的百分比
訓練經驗:自己跟自己訓練。
目標函式:將棋盤上的棋局對映為乙個數字
目標函式的表示:v(b)=w0+x1*w1+x2*w2+x3*w3+x4*w4+x5*w6+x1*w6
ps(x1~x6分別代表:棋盤上的黑子數量、紅字數量、黑王數量、紅王數量、被威脅的黑子數量、被威脅的紅字數量,w0~w6是引數,可進行初始化,電腦的學習就是把引數進行調整。
ok,以上是對跳棋學習任務的描述,接下來就看,實際上是怎麼執行的:
執行系統:
輸入:棋局
輸出:整盤琪玩下來的記錄
也就是說,執行系統通過對乙個棋局的分析,做出了走哪一步棋的決定,請注意,在整個過程,電腦都是在和自己下棋,所以它能夠把這盤棋下完。
關鍵在於,電腦是怎麼做出走下一步棋的決定的?是這樣的,電腦在拿到乙個棋局之後,會算出所有所有合法的走法,然後根據
v(b)=w0+x1*w1+x2*w2+x3*w3+x4*w4+x5*w6+x1*w6,算出每個走法的數值,然後選取數值最大的那個走法。
是的,就這樣,一步步下去,電腦就能跟自己走完一盤棋了。
鑑定器:
輸入:整盤琪玩下來的記錄
輸出:每一步棋真正的數值
你會很好奇,為什麼輸出每一步棋真正的數值?剛才不是算過了嗎?是這樣的,電腦算出來的,是它認為的值,可能在這個棋局之中,電腦認為的值與現實有偏差,你應該告訴它,你錯了,這個值是有偏差的。注意,正是這種電腦計算之後你告訴他對不對的過程,才讓電腦不斷調整w0~w6,使得它自己認為的值與事實上的更加相似。
那麼,你鬼知道某一盤棋的數值啊!是的,你不知道,你知道了也沒用,你不可能告訴電腦每乙個棋局的數值,不然會累死你,那就讓它自己算吧。怎麼算?作者提出
讓:v(b)=v(在b棋局情況下,我走完了而且對方也走完的另乙個棋局)
我自己對這個也有疑問,但是作者說,13章會告訴你,這方法是可行的。
泛化器:
輸入:某個棋局與這個棋局真正的數值
輸出:w0~w6
是的,有了每個棋局真正應得的數值,以及電腦自己認為的值,那麼我們就能使用各種方法調整引數,例如可以使用梯度下降的方法,這個後面會講。
實驗生成器
輸入:w0~w6
輸出:初始棋局
這個沒啥好說的,為執行系統提供初始棋局罷了,乙個好的學習方法應該會有好的開始。但是書裡只是不斷為執行系統提供同乙個初始棋局。
是的,講完了。
機器學習第一章
q 什麼是機器學習 機器學習不同於以往的計算機程式設計,致力於研究如何通過計算機手段,利用以往的經驗來改善系統自身的效能。一般的程式設計都是明確的告訴電腦該做什麼。機器學習希望提供資料給學習演算法,讓它自己學習,找到其種的規律。在面對新情況的時候就能應用已產生的模型,提供相應的判斷。機器學習的本質任...
機器學習第一章
今天進行了機器學習第一章的學習,我覺得首先你可以認清這些概念 1 模型 策略 演算法 2 分類與回歸的概念 3 監督 無監督 半監督問題 2 過擬合 欠擬合 下面是拓展的一些概念 海森矩陣 黑塞矩陣 hessian matrix 又譯作海森矩陣 海瑟矩陣 海塞矩陣等,是乙個多元函式的二階偏導數構成的...
機器學習實戰 第一章
機器學習能讓我們從資料集得到啟發 搜素引擎,郵件過濾系統,推薦系統,資料探勘 啤酒和尿布 機器學習在我們生活中隨處可見。機器學習是必學的。即使想做其他方向的研究,ml也是基礎 1 機器學習專業術語 訓練集,測試集,目標變數 如 鳥的類別 知識表示 如 可以採用規則集的形式,也可以採用概率的形式 採用...