機器學習是數學統計和計算機科學交叉的跨學科領域。機器學習研究統計模型和算法,以從經驗數據中得出預測因子或有意義的模式。機器學習技術主要應用于搜索引擎、語音識別和自然語言處理、圖像檢測、機器人技術等領域。在我們的課程中,我們將討論以下問題:學習的數學模型是什么?如何量化一個學習問題的難度/難度/復雜性?如何選擇學習模型和學習算法?如何衡量機器學習的成功?
我們的課程大綱:
監督學習,非監督學習,強化學習。
機器學習泛化能力
支持向量機,核機
神經網絡和深度學習
近年來,機器學習取得了顯著進展,提供了一些新功能,比如創建復雜的、可計算的文本和圖像表示。這些功能催生了新產品,如基于圖像內容的圖像搜索、多種語言之間的自動翻譯,甚至是真實圖像和聲音的合成。同時,機器學習已經在企業中被廣泛采用,用于經典的用例(例如,預測客戶流失、貸款違約和制造設備故障)。
在機器學習取得成功的地方,它是非常成功的。
在許多情況下,這種成功可以歸因于對大量訓練數據的監督學習(結合大量計算)。總的來說,有監督的學習系統擅長于一項任務:預測。當目標是預測一個結果,并且我們有很多這個結果的例子,以及與它相關的特征時,我們可能會轉向監督學習。
隨著機器學習的普及,它在業務流程中的影響范圍已經從狹窄的預測擴展到決策制定。機器學習系統的結果經常被用來設定信用限額,預測制造設備故障,以及管理我們的各種新聞推送。當個人和企業試圖從這些復雜和非線性系統提供的信息中學習時,更多(和更好)的可解釋性方法已經被開發出來,這是非常重要的。
然而,僅僅基于預測的推理有一些基本的限制。例如,如果銀行提高客戶的信用額度會發生什么?這些問題不能用建立在先前觀察到的數據上的相關模型來回答,因為它們涉及到客戶選擇的可能變化,作為對信用限額變化的反應。在很多情況下,我們的決策過程的結果是一種干預——一種改變世界的行動。正如我們將在本報告中展示的,純粹相關的預測系統不具備在這種干預下進行推理的能力,因此容易產生偏差。對于干預下的數據決策,我們需要因果關系。
即使對于純粹的預測系統(這是監督學習的強項),應用一些因果思維也會帶來好處。根據因果關系的定義,它們是不變的,這意味著它們在不同的情況和環境中都是正確的。對于機器學習系統來說,這是一個非常理想的特性,在機器學習系統中,我們經常根據我們在訓練中沒有看到的數據進行預測;我們需要這些系統具有適應性和健壯性。
因果推理和機器學習的交集是一個迅速擴展的研究領域。它已經產生了可供主流采用的功能——這些功能可以幫助我們構建更健壯、可靠和公平的機器學習系統。
本書介紹了因果推理,因為它涉及很多數據科學和機器學習工作。我們引入因果圖,著重于消除理解的概念障礙。然后我們利用這個理解來探索關于不變預測的最新想法,它給高維問題帶來了因果圖的一些好處。通過附帶的原型,我們展示了即使是經典的機器學習問題,如圖像分類,也可以從因果推理工具中受益。
近年來,自然語言處理的研究方法取得了一些突破。這些突破來源于兩個新的建模框架以及在計算和詞匯資源的可用性的改進。在這個研討會小冊子中,我們將回顧這些框架,以一種可以被視為現代自然語言處理開端的方法論開始:詞嵌入。我們將進一步討論將嵌入式集成到端到端可訓練方法中,即卷積神經網絡和遞歸神經網絡。這本小冊子的第二章將討論基于注意力的模型的影響,因為它們是最近大多數最先進的架構的基礎。因此,我們也將在本章中花很大一部分時間討論遷移學習方法在現代自然語言處理中的應用。最后一章將會是一個關于自然語言生成的說明性用例,用于評估最先進的模型的訓練前資源和基準任務/數據集。
//compstat-lmu.github.io/seminar_nlp_ss20/
在過去的幾十年里,人工智能技術的重要性和應用不斷得到關注。在當今時代,它已經與構成人類塑造環境的大部分環境密不可分。因此,商業、研究和開發、信息服務、工程、社會服務和醫學等無數部門已經不可逆轉地受到人工智能能力的影響。人工智能有三個主要領域組成了這項技術:語音識別、計算機視覺和自然語言處理(見Yeung (2020))。在這本書中,我們將仔細研究自然語言處理(NLP)的現代方法。
這本小冊子詳細介紹了用于自然語言處理的現代方法,如深度學習和遷移學習。此外,本研究亦會研究可用于訓練自然語言處理任務的資源,并會展示一個將自然語言處理應用于自然語言生成的用例。
為了分析和理解人類語言,自然語言處理程序需要從單詞和句子中提取信息。由于神經網絡和其他機器學習算法需要數字輸入來進行訓練,因此應用了使用密集向量表示單詞的詞嵌入。這些通常是通過有多個隱藏層的神經網絡學習的,深度神經網絡。為了解決容易的任務,可以應用簡單的結構神經網絡。為了克服這些簡單結構的局限性,采用了遞歸和卷積神經網絡。因此,遞歸神經網絡用于學習不需要預先定義最佳固定維數的序列的模型,卷積神經網絡用于句子分類。第二章簡要介紹了NLP中的深度學習。第三章將介紹現代自然語言處理的基礎和應用。在第四章和第五章中,將解釋和討論遞歸神經網絡和卷積神經網絡及其在自然語言處理中的應用。
遷移學習是每個任務或領域的學習模型的替代選擇。在這里,可以使用相關任務或領域的現有標記數據來訓練模型,并將其應用到感興趣的任務或領域。這種方法的優點是不需要在目標域中進行長時間的訓練,并且可以節省訓練模型的時間,同時仍然可以(在很大程度上)獲得更好的性能。遷移學習中使用的一個概念是注意力,它使解碼器能夠注意到整個輸入序列,或自注意,它允許一個Transformer 模型處理所有輸入單詞,并建模一個句子中所有單詞之間的關系,這使得快速建模一個句子中的長期依賴性成為可能。遷移學習的概念將在小冊子的第6章簡要介紹。第七章將通過ELMo、ULMFiT和GPT模型來描述遷移學習和LSTMs。第八章將詳細闡述注意力和自注意力的概念。第九章將遷移學習與自注意力相結合,介紹了BERT模型、GTP2模型和XLNet模型。
為NLP建模,需要資源。為了找到任務的最佳模型,可以使用基準測試。為了在基準實驗中比較不同的模型,需要諸如精確匹配、Fscore、困惑度或雙語評估替補學習或準確性等指標。小冊子的第十章簡要介紹了自然語言處理的資源及其使用方法。第11章將解釋不同的指標,深入了解基準數據集SQuAD、CoQa、GLUE和SuperGLUE、AQuA-Rat、SNLI和LAMBADA,以及可以找到資源的預訓練模型和數據庫,如“帶代碼的論文”和“大壞的NLP數據庫”。
在小冊子的最后一章中,介紹了生成性NLP處理自然語言生成,從而在人類語言中生成可理解的文本。因此,不同的算法將被描述,聊天機器人和圖像字幕將被展示,以說明應用的可能性。
本文對自然語言處理中各種方法的介紹是接下來討論的基礎。小冊子的各個章節將介紹現代的NLP方法,并提供了一個更詳細的討論,以及各種示例的潛力和限制。
如果您不熟悉基礎知識,則機器學習可能是一個困難的主題。借助本書,您將獲得統計編程語言R在機器學習中使用的入門原則的堅實基礎。您將從回歸等基礎知識開始,然后進入神經網絡等更高級的主題,最后深入研究像Caret這樣的軟件包在R世界中機器學習的前沿。
通過熟悉諸如理解回歸模型和分類模型之間的差異之類的主題,您將能夠解決一系列機器學習問題。知道何時使用特定模型可能意味著高精度模型與完全無用的模型之間的區別。本書提供了大量示例來構建機器學習的實用知識。
了解機器學習算法的主要部分: 認識到如何使用機器學習以簡單的方式解決問題 找出何時使用某些機器學習算法與其他算法 了解如何使用最先進的軟件包實施算法
這本書是在2020年夏天在提供“CSE 312: Foundations of Computing II”期間寫的,它本質上是為計算機科學家提供的概率和統計。課程是以這門課程和斯坦福大學的“CS 109:計算機科學家的概率”為基礎的。我堅信編寫應用程序(包含在第9章中)對于展示為什么這門課是計算機科學的核心要求是必要的。這本教科書目前正在華盛頓大學(2020年秋季)使用。
//courses.cs.washington.edu/courses/cse312/21wi/
機器學習簡明指南,不可錯過!
A Machine Learning Primer
亞馬遜研究科學家Mihail Eric關于機器學習實踐重要經驗。包括監督學習、機器學習實踐、無監督學習以及深度學習。具體為:
監督學習
機器學習實踐
無監督學習
深度學習
近年來,神經網絡已成為分析復雜和抽象數據模型的有力工具。然而,它們的引入本質上增加了我們的不確定性,即分析的哪些特征是與模型相關的,哪些是由神經網絡造成的。這意味著,神經網絡的預測存在偏差,無法與數據的創建和觀察的真實本質區分開來。為了嘗試解決這些問題,我們討論了貝葉斯神經網絡:可以描述由網絡引起的不確定性的神經網絡。特別地,我們提出了貝葉斯統計框架,它允許我們根據觀察某些數據的根深蒂固的隨機性和我們缺乏關于如何創建和觀察數據的知識的不確定性來對不確定性進行分類。在介紹這些技術時,我們展示了如何從原理上獲得神經網絡預測中的誤差,并提供了描述這些誤差的兩種常用方法。我們還將描述這兩種方法在實際應用時如何存在重大缺陷,并強調在使用神經網絡時需要其他統計技術來真正進行推理。
本書概述了現代數據科學重要的數學和數值基礎。特別是,它涵蓋了信號和圖像處理(傅立葉、小波及其在去噪和壓縮方面的應用)、成像科學(反問題、稀疏性、壓縮感知)和機器學習(線性回歸、邏輯分類、深度學習)的基礎知識。重點是對方法學工具(特別是線性算子、非線性逼近、凸優化、最優傳輸)的數學上合理的闡述,以及如何將它們映射到高效的計算算法。
//mathematical-tours.github.io/book/
它應該作為數據科學的數字導覽的數學伴侶,它展示了Matlab/Python/Julia/R對這里所涵蓋的所有概念的詳細實現。