<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      機器學習漫游(1) 基本設定

        最近的十幾年機器學習很是火熱,尤其是其中的一個分支深度學習在工業界取得很好應用,吸引了很多眼球。不過從其歷程來看,機器學習的歷史并不短暫~從早期的感知機到八十年代火熱的神經網絡,再到九十年代被提出的經典算法集成學習和支持向量機;而最近的十年算得上是機器學習發展的黃金年代,軟、硬件計算條件大幅提高,尤其是現在數據量的爆發式增長讓機器擁有充分“學習”的資本,另一方面現在開源項目越來越多,即便一些算法的實現很復雜,我等小白只需要調幾個接口也能完成對數據的處理;在這個年代里,不同的人充斥著不同的野心,計算機科學家仍在探索人工智能的奧義,資本、媒體都在熱炒機器學習概念,大數據、AI儼然成為寵兒,各行程序員也在茶余飯后有了談資。盛名之下,其實難副,機器學習、人工智能的發展還處在淺層,特別是深度學習這些被媒體過度炒作的產物,從計算智能到感知智能再到認知智能,前面的路依然很遠。長路漫漫,不管怎樣,越來越多的人投入這個行業確實對行業本身有很大的發展,特別是可以看出,國內外很多高校的專家學者已經把研究陣地轉向工業,不僅僅是因為報酬豐厚,更因為工業界提供了現實場景更豐富的數據,而這些數據讓算法擁有很好的施展空間。  

        還記得16年在亞馬遜買了一本南大周志華老師的<<機器學習>>,到手之后真的超出了預期,書上面的算法介紹的比較系統,每一章節提到了某個領域的經典算法,后面給出的附錄也適合非科班同學看懂~更難得是這是一本中文的可以當成教材的書~而且從寫的內容來看,真的很謙虛、嚴謹,總之比較推薦入門的同學看,因為之前一直被廣為人知的還是NG的斯坦福大學Machine Learning公開課講義,現在終于有本好的中文圖書了。 似乎有些偏題了:)初衷只是想寫一個機器學習系列筆記的開篇,算是對自己的一個督促吧,現在很多時候感覺腦子不動真的是要上銹了~好了不多說了,下面進入正題吧~


       1.概念    

        機器學習到底是什么?Wiki上有Tom M. Mitchell這樣一段定義:  

             "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E."

             我經常這樣總結: “設計模型,并從已觀測的數據中學習出模型參數,然后通過模型對未知進行分預測 。”這樣說似乎還是有點抽象,臺大李宏毅老師ppt解釋的非常形象:

        這個圖解釋的含義是什么呢?可以這樣看:

        機器學習的本質是進行預測,比如我們想要判斷一幅輸入的圖像是猴子,貓還是狗。怎樣預測呢?

      (1)首先,我們需要找到一個模型來表達預測的過程,這個模型可能包含一個或者多個需要設定的參數,因此模型是一個多個函數組成的集合;

      (2)在模型確定了之后,我們需要從數學上尋找一個函數來表示這個模型,即從函數集合中尋找一個能夠“準確”地表達模型,這一步我們需要在已知的數據上進行學習,即讓函數能夠在已知數據上獲得很不錯的預測效果;

      (3)使用(2)中確定的函數對未知的數據進行預測。

      一個典型的機器學習系統包含輸入和輸出空間,分別對應輸入和輸出所有可能取值的集合。輸入值,簡稱樣本,描述了樣本不同特征或者屬性的取值,它可以是一個向量,矩陣,張量或者其他更為復雜的數學形式;比如:

                    \( x=\left ( x^{1},x^{2},...x^{n}\right )\)

      輸出值一般是離散或者連續的值,如果是離散的,對應于分類問題,此時描述了樣本的類別標簽,如果是連續的則對應于回歸問題,描述了具體的輸出值,輸出值通常可以用\(y\)表示。機器學習系統的目標在于利用已知數據信息,設計“合理的”函數映射,在給定新的未知數據時,使得輸出值比較符合我們的預期:

                \(F=\left \{ f|Y=f_{\theta }(X),\theta \in R^{n} \right \}\)

      大寫的\(X\)和\(Y\)分別對應于某個輸入或者輸出的集合。好的特征輸入對于機器學習模型的設計尤為重要,比如很多電商需要預測用戶可能購買或者感興趣的產品,怎樣基于用戶過去的購買、瀏覽、收藏等行為構建行為特征,把具體的用戶行為數學化;如果我們需要對房價進行預測,我們可能會擁有已有房產的大小、地理位置、戶型甚至當前房市總體行情等特征,我們需要選擇哪些特征并處理成模型的輸入形式,這對預測的最終結構非常重要,像這種特征選擇或者處理在數據挖掘中做的非常多,我們有時叫做業務模型構建,這其實并不是機器學習過度關注的問題,機器學習更加關注與模型和算法本身。

      我把機器學習做的事情概括成任務、策略和方法,其中任務描述了機器學習的最終目的,而策略描述了機器學習在處理問題時使用的方案,方法則是機器學習在處理實際問題中使用的具體方法。

      2.任務

        機器學習的本質在于使用已知數據的”經驗“來預測未知數據,從模型的輸出來看,我們處理實際問題的最終目的主要可以分成兩種,一是分類(classification),即預測某個輸入樣本對應的類別,或者叫標簽;二是回歸(regression),即預測輸入樣本對應的具體的輸出值。

      (1)通俗一點的來講,分類也就是我們通常所說的“識別”,比如上圖中判斷圖像中是否包含一只貓。分類包含二元分類和多元分類,即模型可能輸出的標簽是2個或者大于2個,比如判斷圖像中是否存在貓,判斷一封郵件是不是垃圾郵件,這里輸出有或者無,是典型的二元分類,判斷圖像中是貓還是狗、猴子或者其他動物則是多元分類,可以看出分類模型中輸出的值是離散的值。

      (2)回歸是指模型的輸出可能是多個連續的值,比如要預測明天天氣的最高溫度,這里的溫度就是一個存在于某個范圍區間的值;房價預測、無人駕駛方向盤輸出角度預測都可以看成是回歸任務。

      3.策略

        在不同的場景下我們會遇到不同類型的數據,而數據的不同也會導致我們設計機器學習模型的策略不同,通常情況下可以分成以下幾種:

      (1)有監督學習(supervised learning),即給定的樣本是有標記的;

      (2)無監督學習(supervised learning),即給定的樣本是無標記的;

      (3)半監督學習(semi-supervised learning),一部分樣本是有標記的,另一部分是無標記的。

        大多數現實機器學習模型都是有監督學習,因為已知輸出的數據訓練效果對最后預測的結果影響太大了。有監督學習強調人類教“機器”進行“學習”,比如小孩子可能沒有見過猴子(現實的或者圖片),但是父母會告訴他:“這是一只猴子”,因此孩子的大腦皮層會對此做出記憶和處理,認為這種類型的東東是一只猴子;并且在看到其他動物的時候,大腦會將其圖像和猴子的特征進行相似度比較,來判斷是一只猴子還是其他動物,這一行為是典型的有監督學習;無監督學習強調讓機器自己去學習,比如聚類算法,機器可以自己進行歸類,而不需要任何標記的數據。考慮到現實場景獲取有標記的數據代價較高,你需要人工的方式去打標記,而網絡社會中包含大量沒有標記的數據,這些數據很好獲取,更為重要的是這些數據對于對于預測本身是有很大幫助的,比如近些年比較熱門的一個方向遷移學習,如果我們要做人臉識別,由于人臉頭像存在角度、光照等復雜外界因素的干擾,那么是否可以借助這些大量的不同場景的無標記數據實現模型本身的遷移,從而使其更能適應干擾,提高識別的精度呢?這就是遷移學習的一個重要作用。

      4.方法 

        方法就是具體的模型設計用到的方法,比如線性方法或非線性方法,線性方法比如早期的感知機,線性回歸,線性的子空間投影方法(如經典的降維算法,主成分分析)等等,非線性方法比如現在火熱的深度神經網絡,支持向量機等等,這些在后面的文章中會提到。

      5.經驗風險最小化、結構風險最小化和過擬合、欠擬合

             有了模型和樣本之后我們需要利用這些樣本,即通過這些已經觀測得到的數據對模型參數進行訓練,這個過程也就是“學習”或者“訓練”,然后通過學習的模型對未知數據進行預測的過程可以稱之為“預測”,預測的目的在于檢驗學習得到模型的好壞。然而一個機器學習系統的好壞不僅和模型設計有關,而且和數據的特點有很大關系,“No free lunch”告訴我們,模型的設計必然會帶來某些方面的代價或者損失,因此必須綜合數據的特點、算法模型、開銷等等各個方面來設計,比如在某些情況下樣本規模大小和數據的分布完全不知道,倘若在設計模型的時候過于追求精度,致使模型對訓練樣本的預測效果很好,但是在預測新的未知數據時效果很差,也就是我們常說的“過擬合”問題。

             舉一個很直觀的例子,小明學習的基礎并不是很好,在學習了一個新的知識點之后做了很多習題,這些習題套路固定,題型類似,然后需要進行測試,如果測驗用的題目和題型與練習的題目變化不大,那么小明在考試中很有可能取得很好的成績,然而這種測試獲得的成績“掩蓋”了背后的假象,一旦出題老師換一個全新的套路,小明的成績很有可能就炸了。可以看出,“過擬合”意味著模型適應不同場景數據的能力,我們有時候叫做“泛化能力”。過擬合問題是機器學習長期需要面對的挑戰之一,而現實中有很多情況掩蓋了過擬合帶來的問題,其中之一便是數據量,比如小明如果平時做的習題足夠足夠多,那么還是很有可能應付測驗的。

        再者,我們也不能讓一個模型為了過于適應復雜場景,追求算法的適應能力,但是過多的損失了精度,這就是“欠擬合”。下面的樣本分布圖(樣本分布圖通常以二維坐標的形式展示樣本的分布情況)給出了一個示例來展示欠擬合和過擬合。用小圈圈表示二維平面中的樣本,其中紅色圈圈表示訓練樣本,綠色圈圈表示真實樣本,然后我分別用不同的多項式曲線去擬合這些樣本,可以看出第一幅圖中的簡單直線并沒有準確的對訓練樣本和真實樣本進行擬合,但是從一定程度表示出了樣本的“大概趨勢”,這是“欠擬合”;第二幅圖中的曲線擬合地效果比較好,盡管在個別樣本稍有偏差,但就預測真實樣本而言是三張圖中最好的,這正是理想情況下需要尋找的模型;相比較而言,第三幅圖中的曲線雖然能“完美”地反映出訓練樣本點的位置,不過存在很大的缺陷,也就是曲線過于復雜,在真實的環境下會遭遇嚴重的過擬合問題,比如橫坐標9到10的這些點與預期值差別巨大。

      ?

        在很多情況下,大量的數據是不可多得的,有時候我們嘗試從模型而不是數據方面著手解決此問題,因此怎樣合理地控制模型,使之避免過擬合呢?

             首先在監督學習中,我們需要定義一定的標準來保證學習的精度的好壞,顯而易見的是,我們可以使用一種叫做“損失函數”的東東來衡量結果,損失函數可以解釋為“衡量預測值和實際值之間的一致性”。損失函數可以使用\(L\left ( Y,f(X)) \right )\)來表示,很容易想到的一種關于\(L\)的表示是使用衡量預測值和實際值之間的偏差,為了保證偏差總是大于0的,可以用\(L\left ( Y,f(X)) \right )=\left ( Y-f(x) \right )^{^{2}}\)來表示,還有的模型可能會使用偏差的絕對值之和、0-1值或者其他的方式定義損失函數。實際上如偏差平方和形式的損失函數是基于最小二乘擬合的一種應用,基于極大似然估計可以得到,在后面博客中寫到線性回歸的時候提到~如果給定訓練集合,也就是包含多個樣本的數據集,模型關于樣本的平均損失可以稱之為經驗損失或者經驗風險,顧名思義,也就是根據已給出的數據經驗式地衡量模型的好壞。比如,對于訓練集

                 \(\left \{ (x_{1},y_{1}),(x_{2},y_{2},...,(x_{m},y_{m}))\right \}\)

      對應的經驗損失可以定義為:

                \(R_{emp}(f)=\frac{1}{n}\sum _{i=1}^{n}L(y_i,f(x_i))\)

      直觀地來說,如果需要機器學習的預測效果好,要求經驗損失最小,也就是我們常說的經驗風險最小化(Empirical Risk Minimization, ERM),基于此策略,可以考慮如下的經驗風險最小化最優化模型:

      \(\mathrm{min} \frac{1}{n}\sum _{i=1}^{n}L(y_i,f(x_i))\)

      在樣本數據量很大的情況下ERM往往能獲得很好的預測效果,但是正如前面提到的,一旦數據規模較小,會出現“過擬合”的情況。過擬合是很多機器學習問題都會面對的一大挑戰,很多方法用來避免出現過擬合。除了增大數據量以外,其中一個常見的做法是對模型的復雜程度進行約束,也就是添加正則化項(regularizer)或懲罰項(penalty)直觀上來說模型越復雜,越難以模擬真實場景。翻看很多paper,不管是大牛的也好,灌水的也好,限制模型復雜度作為懲罰項已經是一件司空見慣的事情了~畢竟懲罰項很容易對模型進行解釋了,盡管有時候隨意添加懲罰項的效果并不怎么好... 這種約束模型復雜程度的做法叫做“結構風險最小化”,意在ERM的基礎上限制模型復雜度:

                     \(R_{srm}(f)=\frac{1}{n}\sum _{i=1}^{n}L(y_i,f(x_i))+\lambda J(f)\)

            上式中\(J(f)\)即模型復雜度項,系數\(\lambda\)為ERM和模型復雜懲罰之間的平衡因子~不過不同模型處理過擬合會使用不同的方法,比如在回歸分析中添加的\(L_{1}\),\(L_{2}\)懲罰項,得到的lasso回歸和嶺回歸;在決策樹中使用剪枝來降低模型復雜度;在深度神經網絡中使用dropout;等等。

      6.模型評估和驗證

            在我們訓練得到一個模型之后,我們需要一定的手段來對模型進行評估,大多數情況我們會預留出一部分數據作為測試集,使用這一部分數據進行驗證工作。在模型評估環節當中我們不僅需要模型有精確地預測效果,還需要很強的健壯性,在算法精度和性能上都有好的表現。通常的一個做法是我們需要對樣本集合做交叉驗證,多次選取不同或者不同規模的訓練集合進行評估。另外,不同的場景我們需要考慮的側重點可能不一樣,比如我們做一個賬號產品缺陷檢測系統,我們會更關注在真實的缺陷樣本是否被檢測出來,而不是真實的無缺陷樣本有沒有被檢測出來。我們在類似于這樣的二分類問題中使用召回率、錯誤接受率、正類準確率、準確率和F-measure等指標來衡量分類效果,用FP、FN、TN和TP定義以下行為樣本的個數:

      FP:真實樣本是負例,被錯誤地預測為正例;

      FN:真實樣本是正例,被錯誤地預測為負例;

      TN:真實樣本是負例,被正確地預測為負例;

      TP:真實樣本是正例,被正確地預測為正例。

      召回率(Recall Rate):其定義為\(\frac{TP}{TP+FN}\)。召回率是一種重要的分類器性能衡量指標,因為在實際應用中需要重點考慮的是正類的數據,其反映了被正確判定的正類樣本占總的正類樣本的比重,即衡量著正類樣本檢測的全面程度。

      錯誤接受率(False positive rate):其定義為\(\frac{FP}{FP+TN}\)。 其反映了分類結果中負類數據被預測為正類數據的比例。

      正類準確率(Precision):其定義為\(\frac{TP}{TP+FP}\),衡量檢測到正類樣本的準確率。

      準確率(Accuracy):其定義為 \(\frac{TP+TN}{TP+FN+FP+TN}\)。其衡量著所有正確分類的樣本占總樣本的比例。

      從以上定義看出,一個好的的分類器預測模型,希望能滿足較高的召回率、正類檢測準確率以及準確率,較低的錯誤接受率。然而,實際情況中,查準率和召回率之間往往難以同時都達到較高的值,需要在二者之間尋求權衡,因此需要折中考慮二者。通常引入F-measure值來考慮衡量準確率和召回率的調和平均數,其被定義為:

      \(F=2\ast\beta\ast recall*pre/(recall + \beta ^{2}\ast pre)\)

      現如今很多模型的優劣可以通過比較有名的benchmark來度量,每個benchmark的度量標準可能不一樣,比如在圖像分類競賽中有些度量標準還包括top5,我們用最匹配的5個樣本來衡量準確率,因此,模型評估很大程度取決于業務場景和設定的規則。

      7.總結

      機器學習是一門關于預測的學科,即設計模型利用已知的數據預測未知的數據。數據分布和模型本身都對預測的結果有一定的影響,沒有完美的模型,我們構建的是適用于不同場景的模型;在預測過程中我們會遇到過擬合、欠擬合等挑戰,而在benchmark上對模型評估和驗證為我們提供了調節模型的指標。

      暫時寫到這,后面的文章準備從線性模型開始,寫一些機器學習中經典或者重要的算法。

       

      posted @ 2018-02-28 17:23  supersayajin  閱讀(5221)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 黄色国产精品一区二区三区| 午夜成人性爽爽免费视频| 国产精品自拍中文字幕| 疯狂做受xxxx高潮欧美日本| 免费看成人毛片无码视频| 一本加勒比hezyo无码专区| 综合色一色综合久久网| 精品国产熟女一区二区三区| 亚洲中文字幕一区二区| 狠狠躁夜夜躁人人爽天天5| 18禁成人免费无码网站| 日韩少妇人妻vs中文字幕| 日本熟妇人妻一区二区三区| 人人妻一区二区三区| 扒开粉嫩的小缝隙喷白浆视频| 野花香电视剧免费观看全集高清播放 | 国产第一区二区三区精品| 无码中文字幕人妻在线一区二区三区| 亚洲 欧美 唯美 国产 伦 综合| 一本色道国产在线观看二区| 亚洲乱码一二三四区国产| 日韩一区二区三区理伦片| 亚洲69视频| 无码抽搐高潮喷水流白浆| 青春草在线视频观看| 中文无码乱人伦中文视频在线| 亚洲精品香蕉一区二区| 国产精品毛片在线完整版| 本免费Av无码专区一区| 人人玩人人添人人澡超碰| 欧美日韩精品一区二区视频| 安平县| 成人啪啪高潮不断观看| 伊人久久大香线蕉av五月天| av日韩在线一区二区三区| 狠狠婷婷色五月中文字幕| 一区二区三区放荡人妻| 国产精品人成在线观看免费| 亚洲人成人伊人成综合网无码| 日韩国产中文字幕精品| 精品国产中文字幕在线|