一直以來總感覺手寫體識別並不適合作為機器學習開篇的基礎認知講解。終究覺得它還不夠那麼的直觀和形象的解釋清楚機器學的過程和資料、演算法以及模型之間的關係。引出乙個象形直白簡單的例子教大家如何區分資料、演算法、模型之間的關係。希望能夠幫到初學者。
相比於一上來就去理解手寫體漢字的識別程式和過程,我覺得還是有必要進行一些前期的匯入學習更有利於對這個過程的理解和消化。媽媽教孩子認字,那乙個個的漢字就是資料,媽媽教孩子的過程就是訓練的過程,媽媽用的方法就是演算法,孩子最後就成了乙個能夠認識不同字的模型。
首先每個漢字有不同的形態,這些偏旁、部首就是漢字的特徵,媽媽給孩子講解每個漢字的這些特徵,讓孩子識記的過程就是乙個訓練的過程。媽媽用的教育方法就是訓練過程中使用到的演算法,比如告訴孩子哪個漢字具體有哪些特徵,什麼樣的特徵是這個漢字,什麼特徵不是這個字,這就是監督學習過程,告訴孩子對錯和判斷的標準(主要的資料特徵),並通過孩子的反饋不斷地糾正孩子的錯誤來糾正孩子的認知,從而使得孩子能夠不斷的提高識字的準確程度(前向傳播和反向糾錯),這個演算法也就是監督學習演算法。
孩子經過媽媽的一番教導和不斷地糾正錯誤(訓練過程)最後終於有了自己相對穩定的判斷(模型本身)可以識別不同的漢字了。但是還有還時會不時認錯字(誤差),這就是訓練過程不可避免的存在誤差。即便是人本身也不可能事事都能百分之百做對、做正確,金無足赤,人無完人,機器亦是如此。
從上邊的過程可以看出,媽媽教孩子識字的過程就是乙個機器學習的過程,繁多的漢字作為訓練的原始資料集,孩子就是已經定義好的模型結構(這個沒得選),媽媽的教育過程就是乙個有監督的資料訓練的過程,孩子的反饋和媽媽的糾正屬於前向傳播和反向傳播的演算法執行過程,最終孩子學會了識記各種漢字,直白點孩子此時本身就是乙個識別漢字的模型。
經過以上講解,是否get到了,資料,演算法,模型之間的關係呢?希望能夠幫助到你的理解,分享快樂!
資料模型之間的關係
models之間的關係簡單的分為一對一 onetoonefield 一對多 foreignkey 多對多 manytomanyfield 三種 構建這種關係相對簡單,只需要在models中宣告即可,主要是在呼叫和查詢的時候有些困難,所以這裡主要說說查詢相關 查詢和引用一般是在檢視函式views中實現...
odoo資料庫模型,繼承之間的關係
odoo中model中使用 inherit inherits屬性簡介 以odoo12環境為例,生產廠家模型為例進行解釋說明。1.正常使用 inherit 是用於對模型進行繼承修改,常見於如下定義 class accountmove models.model inherit account.move ...
常見機器學習模型之間的關係
1.中文解釋 線性回歸。2.模型思想 對於能夠以f xi wxi b表達的線性模型,線性回歸就是試圖學得恰當得向量w和標量b,使得f xi yi,其中yi是真實輸出。那只需要設計乙個衡量f xi 與yi的差異函式e xi,yi,w,b 機器學習中稱為代價函式或損失函式,然後使該對函式求得最小值,對應...