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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

机器学习相关资料

發布時間:2025/3/21 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习相关资料 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,簡單介紹一下機器學習的一些原理。機器學習主要來說有兩種方法,監督式學習(Supervised Learning)和非監督式學習(Unsupervised Learning)。

監督式學習

所謂監督式學習,也就是說,我們需要提供一組學習樣本,包括相關的特征數據以及相應的標簽。程序可以通過這組樣本來學習相關的規律或是模式,然后通過得到的規律或模式來判斷沒有被打過標簽的數據是什么樣的數據。

舉個例子,假設需要識別一些手寫的數字,那么我們就需要找到盡可能多的手寫體數字的圖像樣本,然后人工或是通過某種算法來明確地標注什么是這些手寫體的圖片,誰是 1,誰是 2,誰是 3……這組數據就叫樣本數據,又叫訓練數據(training data)。通過機器學習的算法,找到每個數字在不同手寫體下的特征,進而找到規律和模式。然后通過得到的規律或模式來識別那些沒有被打過標簽的手寫數據,以此完成識別手寫體數字的目標。

一種比較常見的監督式學習,就是從歷史數據中獲得數據的走向趨勢,來預測未來的走向。比如,我們使用歷史上的股票走勢數據來預測接下來的股價漲跌,或者通過歷史上的一些垃圾郵件的樣本來識別新的垃圾郵件。

在監督式學習下,需要有樣本數據或是歷史數據來進行學習,這種方式會有一些問題。

  • 如果一個事物沒有歷史數據,那么就不好做了。變通的解決方式是通過一個和其類似的事物的歷史數據。我以前做過的需求預測,就屬于這種情況。對于新上市的商品來說,完全沒有歷史數據,比如,iPhone X,那么就需要從其類似的商品上找歷史數據,如 iPhone 7 或是別的智能手機。

  • 歷史數據中可能會有一些是噪音數據,需要把這些噪音數據給過濾掉。一般這樣的過濾方式要通過人工判斷和標注。舉兩個例子。某名人在其微博或是演講上推薦了一本書,于是這本書的銷量就上升了。這段時間的歷史數據不是規律性的,所以就不能成為樣本數據,需要去掉。同樣,如果某名人(如 Michael Jackson)去世導致和其有關的商品銷售量很好,那么,這個事件所產生的數據則不屬于噪音數據。因為每年這個名人的忌日的時候出現銷量上升的可能性非常高,所以,需要標注一下,這是有規律的樣本,可以放入樣本進行學習。

非監督式學習

對于非監督式學習,也就是說,數據是沒有被標注過的,所以相關的機器學習算法需要找到這些數據中的共性。因為大量的數據是沒有被標識過的,所以這種學習方式可以讓大量的未標識的數據能夠更有價值。而且,非監督式的學習,可以為我們找到人類很難發現的數據里的規律或模型。所以,也有人將這種學習稱為“特征點學習”。其可以讓我們自動地為數據進行分類,并找到分類的模型。

一般來說,非監督式學習會應用在一些交易型的數據中。比如,有一堆堆的用戶購買數據,但是對于人類來說,我們很難找到用戶屬性和購買商品類型之間的關系,而非監督式學習算法可以幫助我們找到之間的關系。比如,一個在某一個年齡段的女性購買了某種肥皂,有可能說明這個女生在懷孕期,或是某人購買兒童用品,有可能說明這個人的關系鏈中有孩子,等等。于是這些信息會被用作一些所謂的精準市場營銷活動,從而可以增加商品銷量。

我們這么來說吧,監督式學習是在被告訴過正確的答案之后的學習,而非監督式學習是在沒有被告訴正確答案時的學習,所以說,非監督式的學習是在大量的非常亂的數據中找尋一些潛在的關系,這個成本也比較高。這種非監督式學習也會經常被用來檢測一些不正常的事情發生,比如信用卡的詐騙或是盜刷。也被用在推薦系統,比如買了這個商品的人又買了別的什么東西,或是如果某個人喜歡某篇文章、某個音樂、某個餐館,那么可能他會喜歡某款車、某個明星,或某個地方。

在監督式的學習的算法下,我們可以用一組“狗”的照片來確定某個照片中的物體是不是狗。而在非監督式的學習算法下,我們可以通過一個照片來找到與其相似的事物的照片。這兩種學習方式都有各自適用的場景。

如何找到數據的規律和關聯

機器學習基本就是在已知的樣本數據中尋找數據的規律,在未知的數據中找數據的關系。所以,這就需要一定的數學知識了,但對于入門的人來說,學好高數、線性代數、概率論、數據建模等大學本科的數學知識應該就夠用了。以前上大學總覺得這些知識沒什么用處,原來只不過是自己太 low,還沒有從事會運用到這些知識的工作。

總之,機器學習中的基本方法論是這樣的。

  • 要找到數據中的規律,你需要找到數據中的特征點。
  • 把特征點抽象成數學中的向量,也就是所謂的坐標軸。一個復雜的學習可能會有成十上百的坐標軸。
  • 抽象成數學向量后,就可以通過某種數學公式來表達這類數據(就像 y=ax+b 是直線的公式),這就是數據建模。
  • 這個數據公式就是我們找出來的規律。通過這個規律,我們才可能關聯類似的數據。

    當然,也有更為簡單粗暴的玩法。

  • 把數據中的特征點抽象成數學中的向量。
  • 每個向量一個權重。
  • 寫個算法來找各個向量的權重是什么。
  • 有人把這個事叫“數據攪拌機”。據說,這種簡單粗暴的方式超過了那些所謂的明確的數學公式或規則。這種“土辦法”有時候會比高大上的數學更有效,哈哈。

    關于機器學習這個事,你可以讀一讀?Machine Learning is Fun!?這篇文章,以及它的中文翻譯版。

    相關算法

    對于監督式學習,有如下經典算法。

  • 決策樹(Decision Tree)。比如自動化放貸、風控。

  • 樸素貝葉斯分類(Naive Bayesian classification)。可以用于判斷垃圾郵件,對新聞的類別進行分類,比如科技、政治、運動,判斷文本表達的感情是積極的還是消極的、人臉識別等。

  • 最小二乘法(Ordinary Least Squares Regression)。算是一種線性回歸。

  • 邏輯回歸(Logisitic Regression)。一種強大的統計學方法,可以用一個或多個變量來表示一個二項式結果。可以用于信用評分、計算營銷活動的成功率、預測某個產品的收入等。

  • 支持向量機(Support Vector Machine,SVM)。可以用于基于圖像的性別檢測,圖像分類等。

  • 集成方法(Ensemble methods)。通過構建一組分類器,然后根據它們的預測結果進行加權投票來對新的數據點進行分類。原始的集成方法是貝葉斯平均,但是最近的算法包括糾錯輸出編碼、Bagging 和 Boosting。

  • 對于非監督式的學習,有如下經典算法。

  • 聚類算法(Clustering Algorithms)。聚類算法有很多,目標是給數據分類。

  • 主成分分析(Principal Component Analysis,PCA)。PCA 的一些應用包括壓縮、簡化數據,便于學習和可視化等。

  • 奇異值分解(Singular Value Decomposition,SVD)。實際上,PCA 是 SVD 的一個簡單應用。在計算機視覺中,第一個人臉識別算法使用 PCA 和 SVD 來將面部表示為“特征面”的線性組合,進行降維,然后通過簡單的方法將面部匹配到身份。雖然現代方法更復雜,但很多方面仍然依賴于類似的技術。

  • 獨立成分分析(Independent Component Analysis,ICA)。ICA 是一種統計技術,主要用于揭示隨機變量、測量值或信號集中的隱藏因素。

  • 上面的這些相關算法來源自博文《The 10 Algorithms Machine Learning Engineers Need to Know》。

    相關推薦

    學習機器學習有幾個課是必需要上的。

    • 吳恩達教授(Andrew Ng)在?Coursera 上的機器學習課程非常棒。我強烈建議從此入手。對于任何擁有計算機科學學位的人,或是還能記住一點點數學的人來說,都非常容易入門。這個斯坦福大學的課程后面是有作業的,請盡量拿滿分。另外,網易公開課上也有該課程。

    • 卡內基梅隆大學計算機科學學院湯姆·米切爾(Tom Mitchell)教授的機器學習課程?英文原版視頻和課件 PDF?。湯姆·米切爾是全球 AI 界頂尖大牛,在機器學習、人工智能、認知神經科學等領域卓有建樹,撰寫了機器學習方面最早的教科書之一《機器學習》,被譽為入門必讀圖書。

    • 加利福尼亞理工學院亞瑟·阿布·穆斯塔法(Yaser Abu-Mostafa)教授的?Learning from Data 系列課程?。本課程涵蓋機器學習的基本理論和算法,并將理論與實踐相結合,更具實踐指導意義,適合進階。

    除了上述的那些課程外,下面這些資源也很不錯。

    • YouTube 上的 Google Developers 的?Machine Learning Recipes with Josh Gordon?。這 9 集視頻,每集不到 10 分鐘,從 Hello World 講到如何使用 TensorFlow,非常值得一看。

    • 還有?Practical Machine Learning Tutorial with Python Introduction?上面一系列的用 Python 帶著你玩 Machine Learning 的教程。

    • Medium 上的?Machine Learning - 101?講述了好多我們上面提到過的經典算法。

    • 還有,Medium 上的?Machine Learning for Humans,不僅提供了入門指導,更介紹了各種優質的學習資源。

    • 杰森·布朗利(Jason Brownlee)博士的博客?也是非常值得一讀,其中好多的 “How-To”,會讓你有很多的收獲。

    • i am trask?也是一個很不錯的博客。

    • 關于 Deep Learning 中神經網絡的學習,推薦 YouTube 介紹視頻?Neural Networks。

    • 用 Python 做自然語言處理Natural Language Processing with Python。

    • 以及 GitHub 上的?Machine Learning 和 Deep Learning?的相關教程列表。

    此外,還有一些值得翻閱的圖書。

    • 《機器學習》,南京大學周志華教授著。本書是一本機器學習方面的入門級教科書,適合本科三年級以上的學生學習。為了照顧學習的進度,本書并不特別“厚”,讓學生能在同時修多門課的情況下至多 2 學期時間內完成本書的學習。同時,這本書也非常方便其他對機器學習感興趣的初學者快速學習入門知識。

    本書如同一張地圖一般,讓讀者能“觀其大略”,了解機器學習的各個種類、各個學派,其覆蓋面與同類英文書籍相較不遑多讓。為了幫助讀者盡可能多地了解機器學習,作者已試圖盡可能少地使用數學知識。對于僅需對機器學習做一般了解的讀者,閱讀本書時也可以略過數學細節僅做概觀,否則建議對相關基礎知識稍作復習以收全功。

    • A Course In Machine Learning,馬里蘭大學哈爾·道姆(Hal Daumé III)副教授著。 本書講述了幾種經典機器學習算法,包括決策樹、感知器神經元、kNN 算法、K-means 聚類算法、各種線性模型(包括對梯度下降、支持向量機等的介紹)、概率建模、神經網絡、非監督學習等很多主題,還講了各種算法使用時的經驗技巧,適合初學者學習。此外,本書官網提供了免費電子版。
    • Deep Learning,麻省理工學院伊恩·古德費洛(Ian Goodfellow)、友華·本吉奧(Yoshua Benjio)和亞倫·考維爾(Aaron Courville)著。本書是深度學習專題的經典圖書。它從歷史的角度,將讀者帶進深度學習的世界。深度學習使用多層的(深度的)神經元網絡,通過梯度下降算法來實現機器學習,對于監督式和非監督式學習都有大量應用。如果讀者對該領域有興趣,可以深入閱讀本書。本書官網提供免費電子版,但不提供下載。實體書(英文原版或中文翻譯版)可以在網上買到。
    • Reinforcement Learning,安德魯·巴托(Andrew G.Barto)和理查德·薩頓(Richard S. Sutton)著。本書是強化學習(Reinforcement Learning)方面的入門書。它覆蓋了馬爾可夫決策過程(MDP)、Q-Learning、Sarsa、TD-Lamda 等方面。本書作者是強化學習方面的創始人之一。強化學習(結合深度學習)在圍棋程序 AlphaGo 和自動駕駛等方面都有著重要的應用。

    • Pattern Recognition and Machine Learning?,微軟劍橋研究院克里斯托夫·比肖普(Christoph M. Bishop)著。本書講述模式識別的技術,包括機器學習在模式識別中的應用。模式識別在圖像識別、自然語言處理、控制論等多個領域都有應用。日常生活中掃描儀的 OCR、平板或手機的手寫輸入等都屬于該領域的研究。本書廣受讀者好評,是該領域一本不錯的圖書。

    總結

    以上是生活随笔為你收集整理的机器学习相关资料的全部內容,希望文章能夠幫你解決所遇到的問題。

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