日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

台湾大学林轩田机器学习技法课程学习笔记16(完结) -- Finale

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 台湾大学林轩田机器学习技法课程学习笔记16(完结) -- Finale 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

紅色石頭的個人網站:redstonewill.com

上節課我們主要介紹了Matrix Factorization。通過電影推薦系統的例子,介紹Matrix Factorization其實是一個提取用戶特征,關于電影的線性模型。反過來也可以看出是關于用戶的線性模型。然后,我們使用SGD對模型進行最佳化。本節課我們將對機器學習技法課程介紹過的所有內容做個總結,分成三個部分:Feature Exploitation Techniques,Error Optimization Techniques和Overfitting Elimination Techniques。

Feature Exploitation Techniques

我們在本系列課程中介紹的第一個特征提取的方法就是kernel。Kernel運算將特征轉換和計算內積這兩個步驟合二為一,提高了計算效率。我們介紹過的kernel有:Polynormial Kernel、Gaussian Kernel、Stump Kernel等。另外,我們可以將不同的kernels相加(transform union)或者相乘(transform combination),得到不同的kernels的結合形式,讓模型更加復雜。值得一提的是,要成為kernel,必須滿足Mercer Condition。不同的kernel可以搭配不同的kernel模型,比如:SVM、SVR和probabilistic SVM等,還包括一些不太常用的模型:kernel ridge regression、kernel logistic regression。使用這些kernel模型就可以將線性模型擴展到非線性模型,kernel就是實現一種特征轉換,從而能夠處理非常復雜的非線性模型。順便提一下,因為PCA、k-Means等算法都包含了內積運算,所以它們都對應有相應的kernel版本。

Kernel是我們利用特征轉換的第一種方法,那利用特征轉換的第二種方法就是Aggregation。我們之前介紹的所有的hypothesis都可以看成是一種特征轉換,然后再由這些g組合成G。我們介紹過的分類模型(hypothesis)包括:Decision Stump、Decision Tree和Gaussian RBF等。如果所有的g是已知的,就可以進行blending,例如Uniform、Non-Uniform和Conditional等方式進行aggregation。如果所有的g是未知的,可以使用例如Bagging、AdaBoost和Decision Tree的方法來建立模型。除此之外,還有probabilistic SVM模型。值得一提的是,機器學習中很多模型都是類似的,我們在設計一個機器學習模型時,應該融會貫通。

除此之外,我們還介紹了利用提取的方式,找出潛藏的特征(Hidden Features)。一般通過unsupervised learning的方法,從原始數據中提取出隱藏特征,使用權重表征。相應的模型包括:Neural Network、RBF Network、Matrix Factorization等。這些模型使用的unsupervised learning方法包括:AdaBoost、k-Means和Autoencoder、PCA等。

另外,還有一種非常有用的特征轉換方法是維度壓縮,即將高維度的數據降低(投影)到低維度的數據。我們介紹過的維度壓縮模型包括:Decision Stump、Random Forest Tree Branching、Autoencoder、PCA和Matrix Factorization等。這些從高緯度到低緯度的特征轉換在實際應用中作用很大。

Error Optimization Techniques

接下來我們將總結一下本系列課程中介紹過哪些優化技巧。首先,第一個數值優化技巧就是梯度下降(Gradient Descent),即讓變量沿著其梯度反方向變化,不斷接近最優解。例如我們介紹過的SGD、Steepest Descent和Functional GD都是利用了梯度下降的技巧。

而對于一些更復雜的最佳化問題,無法直接利用梯度下降方法來做,往往需要一些數學上的推導來得到最優解。最典型的例子是Dual SVM,還包括Kernel LogReg、Kernel RidgeReg和PCA等等。這些模型本身包含了很多數學上的一些知識,例如線性代數等等。除此之外,還有一些boosting和kernel模型,雖然本課程中沒有提到,但是都會用到類似的數學推導和轉換技巧。

如果原始問題比較復雜,求解比較困難,我們可以將原始問題拆分為子問題以簡化計算。也就是將問題劃分為多個步驟進行求解,即Multi-Stage。例如probabilistic SVM、linear blending、RBF Network等。還可以使用交叉迭代優化的方法,即Alternating Optim。例如k-Means、alternating LeastSqr等。除此之外,還可以采樣分而治之的方法,即Divide & Conquer。例如decision tree。

Overfitting Elimination Techniques

Feature Exploitation Techniques和Error Optimization Techniques都是為了優化復雜模型,減小EinEin。但是EinEin太小有很可能會造成過擬合overfitting。因此,機器學習中,Overfitting Elimination尤為重要。

首先,可以使用Regularization來避免過擬合現象發生。我們介紹過的方法包括:large-margin、L2、voting/averaging等等。

除了Regularization之外,還可以使用Validation來消除Overfitting。我們介紹過的Validation包括:SV、OOB和Internal Validation等。

Machine Learning in Action

本小節介紹了林軒田老師所在的臺大團隊在近幾年的KDDCup國際競賽上的表現和使用的各種機器算法。融合了我們在本系列課程中所介紹的很多機器學習技法和模型。這里不再一一贅述,將相應的圖片貼出來,讀者自己看看吧。

ICDM在2006年的時候發布了排名前十的數據挖掘算法,如下圖所示。其中大部分的算法我們在本系列的課程中都有過介紹。值得一提的是Naive Bayes算法本課程中沒有涉及,貝葉斯模型在實際中應用還是挺廣泛的,后續可能還需要深入學習一下。

最后,我們將所有介紹過的機器學習算法和模型列舉出來:

總結

本節課主要從三個方面來對機器學習技法課程做個總結:Feature Exploitation Techniques,Error Optimization Techniques和Overfitting Elimination Techniques。最后介紹了林軒田老師帶領的臺大團隊是如何在歷屆KDDCup中將很多機器學習算法模型融合起來,并獲得了良好的成績。

注明:

文章中所有的圖片均來自臺灣大學林軒田《機器學習技法》課程、

寫在最后的話

歷時近4個月,終于將臺灣大學林軒田老師的《機器學習基石》和《機器學習技法》這兩門課程學完了。突然的想法,開始寫博客記錄下學習歷程,通過筆記的形式加深鞏固了自己的理解。如果能對讀者有些許幫助的話,那便是一大快事。筆者資歷尚淺,博客中難免有疏漏和錯誤,歡迎各位批評指正。另外,鄙人不才,建立了一個QQ群,以便討論與該課程相關或者其它的機器學習和深度學習問題。有興趣的朋友可以加一下,QQ群號碼是223490966(紅色石頭機器學習小站)。后續,筆者根據學習情況,可能還會推出一些課程筆記的博客。

積跬步以致千里,積小流以成江海!

最后,特別感謝林軒田老師!您的教學風格我很喜歡,深入淺出、寓教于樂。非常有幸能夠學到您的課程!再次感謝!

更多AI資源請關注公眾號:紅色石頭的機器學習之路(ID:redstonewill)

總結

以上是生活随笔為你收集整理的台湾大学林轩田机器学习技法课程学习笔记16(完结) -- Finale的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。