重磅 | 完備的 AI 學習路線,最詳細的資源整理!

今天一早看到了 Datawhale 推送的一篇文章,總結了非常全面的關於 AI 的學習資料,作者是 Datawhale,ApacheCN,AI 有道和黃海廣博士聯合整理貢獻的,可謂是非常良心了,如果大家有想入門學習 AI 的,可以來看下這些資料,希望對你有所幫助哈。

轉載來源   公衆號:Datawhale

 

閱讀本文大概需要 13 分鐘。

 

【導讀】

本文由知名開源平臺,AI 技術平臺以及領域專家:Datawhale,ApacheCN,AI 有道和黃海廣博士聯合整理貢獻,內容涵蓋 AI 入門基礎知識、數據分析\挖掘、機器學習、深度學習、強化學習、前沿 Paper 和五大 AI 理論應用領域:自然語言處理,計算機視覺,推薦系統,風控模型和知識圖譜。是你學習 AI 從入門到專家必備的學習路線和優質學習資源。

 

基礎知識

 

1

數學

數學是學不完的,也沒有幾個人能像博士一樣紮實地學好數學基礎,入門人工智能領域,其實只需要掌握必要的基礎知識就好。AI 的數學基礎最主要是高等數學、線性代數、概率論與數理統計三門課程,這三門課程是本科必修的。這裏整理了一個簡易的數學入門文章:

 

數學基礎:高等數學

https://zhuanlan.zhihu.com/p/36311622

數學基礎:線性代數

https://zhuanlan.zhihu.com/p/36584206

數學基礎:概率論與數理統計

https://zhuanlan.zhihu.com/p/36584335

 

機器學習的數學基礎資料下載:

 

1) 機器學習的數學基礎.docx

中文版,對高等數學、線性代數、概率論與數理統計三門課的公式做了總結。

2) 斯坦福大學機器學習的數學基礎.pdf

原版英文材料,非常全面,建議英語好的同學直接學習這個材料。

下載鏈接: 

https://pan.baidu.com/s/1LaUlrJzy98CG1Wma9FgBtg 提取碼: hktx

 

國外經典數學教材:

相比國內浙大版和同濟版的數學教材更加通俗易懂,深入淺出,便於初學者更好地奠定數學基礎。下載鏈接:

https://blog.csdn.net/Datawhale/article/details/81744961

 

2

統計學

入門教材:深入淺出統計學

進階教材:商務與經濟統計

推薦視頻:可汗學院統計學

http://open.163.com/special/Khan/khstatistics.html

 

3

編程

入門人工智能領域,首推 Python 這門編程語言。

 

1) Python安 裝:

Python 安裝包,我推薦下載 Anaconda,Anaconda 是一個用於科學計算的 Python 發行版,支持 Linux, Mac, Windows 系統,提供了包管理與環境管理的功能,可以很方便地解決多版本 Python 並存、切換以及各種第三方包安裝問題。

下載地址:

https://www.anaconda.com/download/ 

推薦選 Anaconda (Python 3.7版本)

 

IDE:推薦使用 PyCharm,社區版免費

下載地址:https://www.jetbrains.com/

 

安裝教程:

Anaconda+Jupyter notebook+PyCharm:

https://zhuanlan.zhihu.com/p/59027692

 

Ubuntu 18.04深度學習環境配置(CUDA9+CUDNN7.4+TensorFlow1.8):

https://zhuanlan.zhihu.com/p/50302396

 

2) Python 入門的資料推薦

a.廖雪峯 Python 學習筆記

https://blog.csdn.net/datawhale/article/category/7779959

 

b.Python 入門筆記

作者李金,這個是 Jupyter notebook 文件,把 Python 的主要語法演示了一次,值得推薦。下載鏈接: 

https://pan.baidu.com/s/1IPZI5rygbIh5R5OuTHajzA 提取碼: 2bzh

 

c.南京大學 Python 視頻教程

這個教程非常值得推薦,Python 主要語法和常用的庫基本涵蓋了。

查看地址:

https://www.icourse163.org/course/0809NJU004-1001571005?from=study

 

看完這三個資料後 Python 基本達到入門水平,可以使用 Scikit-Learn 等機器學習庫來解決機器學習的問題了。

 

3)補充

代碼規範:

https://zhuanlan.zhihu.com/p/59763076

NumPy練習題:

https://zhuanlan.zhihu.com/p/57872490

Pandas練習題:

https://zhuanlan.zhihu.com/p/56644669

 

數據分析/挖掘

 

1

數據分析的基礎書籍

《利用 Python 進行數據分析》

這本書含有大量的實踐案例,你將學會如何利用各種 Python 庫(包括 NumPy,Pandas、Matplotlib 以及 IPython 等)高效地解決各式各樣的數據分析問題。如果把代碼都運行一次,基本上就能解決數據分析的大部分問題了。

 

2

特徵工程

https://blog.csdn.net/Datawhale/article/details/83033869

 

3

數據挖掘項目

https://blog.csdn.net/datawhale/article/details/80847662

 

 

機器學習

 

公開課

吳恩達《Machine Learning》

這絕對是機器學習入門的首選課程,沒有之一!即便你沒有紮實的機器學習所需的紮實的概率論、線性代數等數學基礎,也能輕鬆上手這門機器學習入門課,並體會到機器學習的無窮趣味。

 

課程主頁:

https://www.coursera.org/learn/machine-learning

 

 

中文視頻:

網易雲課堂搬運了這門課,並由黃海廣等人翻譯了中文字幕。

 

中文筆記及作業代碼:

 

https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes

 

公開課

吳恩達 CS229

吳恩達在斯坦福教授的機器學習課程 CS229 與 吳恩達在 Coursera 上的《Machine Learning》相似,但是有更多的數學要求和公式的推導,難度稍難一些。該課程對機器學習和統計模式識別進行了廣泛的介紹。

 

課程主頁:

http://cs229.stanford.edu/

 

中文視頻:

http://open.163.com/special/opencourse/machinelearning.html

 

中文筆記:

https://kivy-cn.github.io/Stanford-CS-229-CN/#/

 

速查表:

這份給力的資源貢獻者是一名斯坦福的畢業生 Shervine Amidi。作者整理了一份超級詳細的關於 CS229 的速查表

https://zhuanlan.zhihu.com/p/56534902

 

作業代碼:

https://github.com/Sierkinhane/CS229-ML-Implements

 

公開課 

林軒田《機器學習基石》

臺灣大學林軒田老師的《機器學習基石》課程由淺入深、內容全面,基本涵蓋了機器學習領域的很多方面。其作爲機器學習的入門和進階資料非常適合。而且林老師的教學風格也很幽默風趣,總讓讀者在輕鬆愉快的氛圍中掌握知識。這門課比 Ng 的《Machine Learning》稍難一些,側重於機器學習理論知識。

 

中文視頻:

https://www.bilibili.com/video/av36731342

 

中文筆記:

https://redstonewill.com/category/ai-notes/lin-ml-foundations/

 

配套教材

配套書籍爲《Learning From Data》,在線書籍主頁:http://amlbook.com/

 

公開課

林軒田《機器學習技法》

《機器學習技法》課程是《機器學習基石》的進階課程。主要介紹了機器學習領域經典的一些算法,包括支持向量機、決策樹、隨機森林、神經網絡等等。難度要略高於《機器學習基石》,具有很強的實用性。

 

中文視頻:

https://www.bilibili.com/video/av36760800

 

中文筆記:

https://redstonewill.com/category/ai-notes/lin-ml-techniques/

 

書籍

《機器學習》

周志華的《機器學習》被大家親切地稱爲“西瓜書”。這本書非常經典,講述了機器學習核心數學理論和算法,適合有作爲學校的教材或者中階讀者自學使用,入門時學習這本書籍難度稍微偏高了一些。

 

配合《機器學習實戰》一起學習,效果更好!

 

讀書筆記:

https://www.cnblogs.com/limitlessun/p/8505647.html#_label0

 

公式推導:

https://datawhalechina.github.io/pumpkin-book/#/

 

課後習題:

https://zhuanlan.zhihu.com/c_1013850291887845376

 

書籍

《統計學習方法》

李航的這本《統計學習方法》堪稱經典,包含更加完備和專業的機器學習理論知識,作爲夯實理論非常不錯。

講課 PPT:

https://github.com/fengdu78/lihang-code/tree/master/ppt

 

讀書筆記:

http://www.cnblogs.com/limitlessun/p/8611103.html

https://github.com/SmirkCao/Lihang

 

參考筆記:

https://zhuanlan.zhihu.com/p/36378498

 

代碼實現:

https://github.com/fengdu78/lihang-code/tree/master/code

 

書籍

《Scikit-Learn 與 TensorFlow 機器學習實用指南》

在經過前面的學習之後,這本《Scikit-Learn 與 TensorFlow 機器學習實用指南》非常適合提升你的機器學習實戰編程能力。

 

這本書分爲兩大部分,第一部分介紹機器學習基礎算法,每章都配備 Scikit-Learn 實操項目;第二部分介紹神經網絡與深度學習,每章配備 TensorFlow 實操項目。如果只是機器學習,可先看第一部分的內容。

 

全書代碼:

https://github.com/ageron/handson-ml

 

實戰

Kaggle 比賽

比賽是提升自己機器學習實戰能力的最有效的方式,首選 Kaggle 比賽。

 

Kaggle 主頁:

https://www.kaggle.com/

 

Kaggle 路線:

https://github.com/apachecn/kaggle

 

工具

Scikit-Learn 官方文檔

Scikit-Learn 作爲機器學習一個非常全面的庫,是一份不可多得的實戰編程手冊。

 

官方文檔:

https://scikit-learn.org/stable/index.html

 

中文文檔(0.19):

http://sklearn.apachecn.org/#/

 

 

深度學習

 

公開課 

吳恩達《Deep Learning》

在吳恩達開設了機器學習課程之後,發佈的《Deep Learning》課程也備受好評,吳恩達老師的課程最大的特點就是將知識循序漸進的傳授給你,是入門學習不可多得良好視頻資料。

 

整個專題共包括五門課程:01.神經網絡和深度學習;02.改善深層神經網絡-超參數調試、正則化以及優化;03.結構化機器學習項目;04.卷積神經網絡;05.序列模型。

 

課程視頻

網易雲課堂:

https://mooc.study.163.com/university/deeplearning_ai#/c

 

Coursera: 

https://www.coursera.org/specializations/deep-learning

 

課程筆記

之前編寫過吳恩達老師機器學習個人筆記黃海廣博士帶領團隊整理了中文筆記:

https://github.com/fengdu78/deeplearning_ai_books

 

參考論文

吳恩達老師在課程中提到了很多優秀論文,黃海廣博士整理如下:

https://github.com/fengdu78/deeplearning_ai_books/tree/master/%E5%8F%82%E8%80%83%E8%AE%BA%E6%96%87

 

課程 PPT 及課後作業

吳恩達深度學習課程,包含課程的課件、課後作業和一些其他資料:

https://github.com/stormstone/deeplearning.ai

 

公開課

Fast.ai《程序員深度學習實戰》

說到深度學習的公開課,與吳恩達《Deep Learning》並駕齊驅的另一門公開課便是由 Fast.ai 出品的《程序員深度學習實戰》。這門課最大的特點便是“自上而下”而不是“自下而上”,是絕佳的通過實戰學習深度學習的課程。

 

視頻地址

B 站地址(英文字幕):

https://www.bilibili.com/video/av18904696?from=search&seid=10813837536595120136

 

CSDN 地址(2017 版中文字幕):

https://edu.csdn.net/course/detail/5192

 

課程筆記

英文筆記原文:

https://medium.com/@hiromi_suenaga/deep-learning-2-part-1-lesson-1-602f73869197

 

由 ApacheCN 組織的中文翻譯:

https://github.com/apachecn/fastai-ml-dl-notes-zh

 

公開課

CS230 Deep Learning

斯坦福的深度學習課程 CS230 在 4 月 2 日剛剛開課,對應的全套 PPT 也隨之上線。從內容來看,今年的課程與去年的差別不大,涵蓋了 CNNs, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization 等深度學習的基本模型,涉及醫療、自動駕駛、手語識別、音樂生成和自然語言處理等領域。

 

Datawhale 整理了該門課程的詳細介紹及參考資料:

吳恩達CS230深度學習開課了!視頻配套PPT應有盡有

 

書籍

神經網絡與深度學習 - 復旦邱錫鵬

本書是入門深度學習領域的極佳教材,主要介紹了神經網絡與深度學習中的基礎知識、主要模型(前饋網絡、卷積網絡、循環網絡等)以及在計算機視覺、自然語言處理等領域的應用。

復旦教授邱錫鵬開源發佈《神經網絡與深度學習》

 

書籍

《深度學習》

完成以上學習後,想要更加系統的建立深度學習的知識體系,閱讀《深度學習》準沒錯。該書從淺入深介紹了基礎數學知識、機器學習經驗以及現階段深度學習的理論和發展,它能幫助人工智能技術愛好者和從業人員在三位專家學者的思維帶領下全方位瞭解深度學習。

 

書籍介紹

《深度學習》通常又被稱爲花書,深度學習領域最經典的暢銷書。由全球知名的三位專家 IanGoodfellow、YoshuaBengio 和 AaronCourville 撰寫,是深度學習領域奠基性的經典教材。該書被大衆尊稱爲“AI 聖經”。

 

在線閱讀

該書由衆多網友衆包翻譯,電子版在以下地址獲得:

https://github.com/exacity/deeplearningbook-chinese

 

書籍

《深度學習 500 問》

當你看完了所有的視頻,研習了 AI 聖經,一定充滿了滿腦子問號,此時不如來深度學習面試中常見的 500 個問題。

 

書籍介紹

DeepLearning-500-questions,作者是川大的一名優秀畢業生談繼勇。該項目以深度學習面試問答形式,收集了 500 個問題和答案。內容涉及了常用的概率知識、線性代數、機器學習、深度學習、計算機視覺等熱點問題,該書目前尚未完結,卻已經收穫了 Github 2.4w stars。

 

項目地址:

https://github.com/scutan90/DeepLearning-500-questions

 

工具

TensorFlow 官方文檔

學深度學習一定離不開 TensorFlow

 

官方文檔:

https://www.tensorflow.org/api_docs/python/tf

 

中文文檔:

https://github.com/jikexueyuanwiki/tensorflow-zh

 

工具

 PyTorch 官方文檔

PyTorch 是學深度學習的另一個主流框架

 

官方文檔:

https://pytorch.org/docs/stable/index.html

 

中文文檔(版本0.3):

 

https://github.com/apachecn/pytorch-doc-zh

 

強化學習

 

公開課 

Reinforcement Learning-David Silver

與吳恩達的課程對於機器學習和深度學習初學者的意義相同,David Silver 的這門課程絕對是大多數人學習強化學習必選的課程。

 

課程從淺到深,把強化學習的內容娓娓道來,極其詳盡。不過由於強化學習本身的難度,聽講這門課還是有一定的門檻,建議還是在大致瞭解這個領域之後觀看該視頻學習效果更佳,更容易找到學習的重點。

 

視頻地址

B 站地址(中文字幕):

https://www.bilibili.com/video/av45357759?from=search&seid=9547815852611563503

課程原地址:

https://www.youtube.com/watch?v=2pWv7GOvuf0

 

課程資料

課程 PPT:

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html

課程筆記:

https://www.zhihu.com/people/qqiang00/posts

 

公開課

李宏毅《深度強化學習》

David Silver 的課程雖然內容詳盡,但前沿的很多內容都沒有被包括在內,這時,臺大李宏毅的《深度強化學習》就是學習前沿動態的不二之選。

 

視頻地址

B 站地址(中文字幕):

https://www.bilibili.com/video/av24724071?from=search&seid=9547815852611563503

課程原地址:

https://www.youtube.com/watch?v=2pWv7GOvuf0

 

課程資料

課程 PPT:

http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html

課程筆記:

https://blog.csdn.net/cindy_1102/article/details/87905272

 

 

前沿 Paper

 

1

Arxiv

Arxiv Stats

Arxiv 機器學習最新論文檢索主頁地址:

https://arxiv.org/list/stat.ML/recent?ref=bestofml.com

 

Arxiv Sanity Preserver

Andrej Karpathy 開發了 Arxiv Sanity Preserver,幫助分類、搜索和過濾特徵

主頁地址:

http://www.arxiv-sanity.com/?ref=bestofml.com

 

 

2

Papers with Code

 

Papers with Code(Browse state-of-the-art)

這個網站叫做 Browse state-of-the-art。它將 ArXiv 上的最新深度學習論文與 GitHub 上的開源代碼聯繫起來。該項目目前包含了 651 個排行榜,1016 個深度學習任務,795 個數據集,以及重磅的 10257 個含復現代碼的優秀論文。簡直就是一個尋找論文和代碼的利器。它將 1016 個深度學習任務分成了 16 大類,涉及了深度學習的各個方面。

主頁地址:

https://paperswithcode.com/sota

 

舉兩個例子:

CV:

https://paperswithcode.com/area/computer-vision

NLP:

https://paperswithcode.com/area/natural-language-processing

 

Papers with Code(Sorted by stars)

這份資源收集了 AI 領域從 2013 - 2018 年所有的論文,並按照在 GitHub 上的標星數量進行排序。

GitHub 項目地址:

https://github.com/zziz/pwc

 

3

Deep Learning Papers 閱讀路線

如果你是深度學習領域的新手,你可能會遇到的第一個問題是“我應該從哪篇論文開始閱讀?”下面是一個深入學習論文的閱讀路線圖!

 

GitHub 項目地址:

https://github.com/floodsung/Deep-Learning-Papers-Reading-Roadmap

 

這份深度學習論文閱讀路線分爲三大塊:

1 Deep Learning History and Basics

2 Deep Learning Method

3 Applications

 

4

Deep Learning Object Detection

目標檢測(Object Detection)是深度學習 CV 領域的一個核心研究領域和重要分支。縱觀 2013 年到 2019 年,從最早的 R-CNN、Fast R-CNN 到後來的 YOLO v2、YOLO v3 再到今年的 M2Det,新模型層出不窮,性能也越來越好!

 

本資源對目標檢測近幾年的發展和相關論文做出一份系統介紹,總結一份超全的文獻 paper 列表。

 

GitHub 項目地址:

https://github.com/hoya012/deep_learning_object_detection

 

5

知名會議

會議

NeurIPS:https://nips.cc/

ICML:https://icml.cc/

ICLR:https://iclr.cc/

AAAI:https://aaai.org/Conferences/AAAI-19/

IJCAI:https://www.ijcai.org/

UAI:http://www.auai.org/uai2019/index.php

 

計算機視覺:

CVPR:http://cvpr2019.thecvf.com/

ECCV:https://eccv2018.org/program/main-conference/

ICCV:http://iccv2019.thecvf.com/

 

自然語言處理:

ACL:http://www.aclcargo.com/

EMNLP:https://www.aclweb.org/portal/content/emnlp-2018

NAACL:https://naacl2019.org/

 

知名期刊:

JAIR:https://www.jair.org/index.php/jair

JMLR:http://www.jmlr.org/

 

其它

機器人方面,有 CoRL(學習)、ICAPS(規劃,包括但不限於機器人)、ICRA、IROS、RSS;

對於更理論性的研究,有 AISTATS、COLT、KDD。

 

 

理論應用

 

自然語言處理

 

1

NLP 是什麼

自然語言處理(NLP,Natural Language Processing)是研究計算機處理人類語言的一門技術,目的是彌補人類交流(自然語言)和計算機理解(機器語言)之間的差距。NLP 包含句法語義分析、信息抽取、文本挖掘、機器翻譯、信息檢索、問答系統和對話系統等領域。

 

2

課程推薦

CS224n 斯坦福深度自然語言處理課

17 版中文字幕:

https://www.bilibili.com/video/av41393758/?p=1

課程筆記:

http://www.hankcs.com/?s=CS224n%E7%AC%94%E8%AE%B0

2019 版課程主頁:

http://web.stanford.edu/class/cs224n/ 

 

自然語言處理 - Dan Jurafsky 和 Chris Manning

B 站英文字幕版:

https://www.bilibili.com/video/av35805262/

學術激流網:

http://academictorrents.com/details/d2c8f8f1651740520b7dfab23438d89bc8c0c0ab

 

3

書籍推薦

Python 自然語言處理 

入門讀物,整本書不僅涉及了語料庫的操作,也對傳統的基於規則的方法有所涉及。全書包括了分詞(tokenization)、詞性標註(POS)、語塊(Chunk)標註、句法剖析與語義剖析等方面,是nlp中不錯的一本實用教程。

 

自然語言處理綜論

By Daniel Jurafsky和James H. Martin

本書十分權威,是經典的 NLP 教科書,涵蓋了經典自然語言處理、統計自然語言處理、語音識別和計算語言學等方面。

統計自然語言處理基礎

By Chris Manning和HinrichSchütze

更高級的統計 NLP 方法,在統計基本部分和 n 元語法部分介紹得都很不錯。

 

4

博客推薦

我愛自然語言處理

地址:http://www.52nlp.cn/

TFIDF、文檔相似度等等在這個網站上都有通俗易懂的解釋

 

語言日誌博客(Mark Liberman)

地址:

http://languagelog.ldc.upenn.edu/nll/  

 

Natural Language Processing Blog 

地址:https://nlpers.blogspot.com/

美國 Hal Daumé III維護的一個 Natural Language Processing的  博客,經常評論最新學術動態,值得關注。有關於 ACL、NAACL 等學術會議的參會感想和對論文的點評

 

5

項目推薦

基於 LSTM 的中文問答系統 

https://github.com/S-H-Y-GitHub/QA

基於 RNN 的文本生成器 

https://github.com/karpathy/char-rnn

基於 char-rnn 的汪峯歌詞生成器

 https://github.com/phunterlau/wangfeng-rnn

用 RNN 生成手寫數字 

https://github.com/skaae/lasagne-draw

 

6

開源 NLP 工具包

中文 NLP 相關:https://github.com/crownpku/Awesome-Chinese-NLP

 

英文 NLP 相關:

NLTK: http://www.nltk.org/

TextBlob: http://textblob.readthedocs.org/en/dev/

Gensim: http://radimrehurek.com/gensim/

Pattern: http://www.clips.ua.ac.be/pattern

Spacy: http://spacy.io

Orange: http://orange.biolab.si/features/

Pineapple: https://github.com/proycon/pynlpl

 

7

相關論文

100 Must-Read NLP Papers 

https://github.com/mhagiwara/100-nlp-papers

 

計算機視覺

 

1

計算機視覺的應用

計算機視覺的應用

無人駕駛

無人安防

人臉識別

車輛車牌識別

以圖搜圖

VR/AR

3D重構

無人機

醫學圖像分析

其他

 

2

課程推薦

Stanford CS223B 

比較適合基礎,適合剛剛入門的同學,跟深度學習的結合相對來說會少一點,不會整門課講深度學習,而是主要講計算機視覺,方方面面都會講到

 

李飛飛:CS231n 課程:

https://mp.weixin.qq.com/s/-NaDpXsxvu4DpXqVNXIAvQ

 

3

書籍推薦

1.入門學習:

《Computer Vision:Models, Learning and Inference》

 

2.經典權威的參考資料:

《Computer Vision:Algorithms and Applications》

 

3.理論實踐:

《OpenCV3編程入門》

 

推薦系統

 

1

推薦系統是什麼

推薦系統就是自動聯繫用戶和物品的一種工具,它能夠在信息過載的環境中幫助用戶發現令他們感興趣的信息,也能將信息推送給對它們感興趣的用戶。推薦系統屬於資訊過濾的一種應用。

 

2

推薦課程

推薦系統專項課程《Recommender Systems Specialization》

這個系列由 4 門子課程和1門畢業項目課程組成,包括推薦系統導論,最近鄰協同過濾,推薦系統評價,矩陣分解和高級技術等。

 

觀看地址:

https://www.coursera.org/specializations/recommender-systems

 

3

書籍推薦

《推薦系統實踐》(項亮 著)

《推薦系統》(Dietmar Jannach等 著,蔣凡 譯)

《用戶網絡行爲畫像》(牛溫佳等 著)

《Recommender Systems Handbook》(Paul B·Kantor 等 著)

 

4

算法庫

LibRec

LibRec 是一個 Java 版本的覆蓋了 70 餘個各類型推薦算法的推薦系統開源算法庫,由國內的推薦系統大牛郭貴冰創辦,目前已更新到 2.0 版本,它有效地解決了評分預測和物品推薦兩大關鍵的推薦問題。

項目地址: https://github.com/guoguibing/librec

官網地址: https://www.librec.net/

 

LibMF

C++ 版本開源推薦系統,主要實現了基於矩陣分解的推薦系統。針對SGD(隨即梯度下降)優化方法在並行計算中存在的 locking problem 和 memory discontinuity問題,提出了一種 矩陣分解的高效算法FPSGD(Fast Parallel SGD),根據計算節點的個數來劃分評分矩陣block,並分配計算節點。

項目地址:

http://www.csie.ntu.edu.tw/~cjlin/libmf/

 

SurPRISE

一個 Python 版本的開源推薦系統,有多種經典推薦算法

項目地址:http://surpriselib.com/

 

Neural Collaborative Filtering

神經協同過濾推薦算法的 Python 實現

項目地址:

https://github.com/hexiangnan/neural_collaborative_filtering

 

Crab

基於 Python 開發的開源推薦軟件,其中實現有 item 和 user 的協同過濾

項目地址:http://muricoca.github.io/crab/

 

5

常用數據集

MovieLen

https://grouplens.org/datasets/movielens/

MovieLens 數據集中,用戶對自己看過的電影進行評分,分值爲 1~5。MovieLens 包括兩個不同大小的庫,適用於不同規模的算法。小規模的庫是 943 個獨立用戶對 1 682 部電影作的 10 000 次評分的數據;大規模的庫是 6 040 個獨立用戶對 3 900 部電影作的大約 100 萬次評分。適用於傳統的推薦任務

 

Douban

https://www.cse.cuhk.edu.hk/irwin.king.new/pub/data/douban

Douban 是豆瓣的匿名數據集,它包含了 12 萬用戶和 5 萬條電影數據,是用戶對電影的評分信息和用戶間的社交信息,適用於社會化推薦任務。

 

BookCrossing

http://www2.informatik.uni-freiburg.de/~cziegler/BX/

這個數據集是網上的 Book-Crossing 圖書社區的 278858 個用戶對 271379 本書進行的評分,包括顯式和隱式的評分。這些用戶的年齡等人口統計學屬性(demographic feature)都以匿名的形式保存並供分析。這個數據集是由 Cai-Nicolas Ziegler 使用爬蟲程序在 2004 年從 Book-Crossing 圖書社區上採集的。

 

6

推薦論文

經典必讀論文整理,包括綜述文章、傳統經典推薦文章、社會化推薦文章、基於深度學習的推薦系統文章、專門用於解決冷啓動的文章、POI 相關的論文、利用哈希技術來加速推薦的文章以及推薦系統中經典的探索與利用問題的相關文章等。

 

項目地址: 

https://github.com/hongleizhang/RSPapers

 

7

推薦項目

1.今日頭條推薦系統機制介紹,面向內容創作者。分享人:項亮,今日頭條推薦算法架構師:

https://v.qq.com/x/page/f0800qavik7.html?

2. 3 分鐘瞭解今日頭條推薦系統原理

https://v.qq.com/x/page/g05349lb80j.html?

3.FaceBook 是如何爲十億人推薦好友的

https://code.facebook.com/posts/861999383875667/recommending-items-to-more-than-a-billion-people/

4.Netflix 的個性化和推薦系統架構

http://techblog.netflix.com/2013/03/system-architectures-for.html

 

風控模型(評分卡模型)

 

1

評分卡模型簡介

評分卡模型時在銀行、互金等公司與借貸相關業務中最常見也是最重要的模型之一。簡而言之它的作用就是對客戶進行打分,來對客戶是否優質進行評判。

 

根據評分卡模型應用的業務階段不用,評分卡模型主要分爲三大類:A 卡(Application score card)申請評分卡、B 卡(Behavior score card)行爲評分卡、C 卡(Collection score card)催收評分卡。其中申請評分卡用於貸前,行爲評分卡用於貸中,催收評分卡用於貸後,這三種評分卡在我們的信貸業務的整個生命週期都至關重要。

 

2

推薦書籍

《信用風險評分卡研究——基於 SAS 的開發與實施》

 

3

評分卡模型建模過程

樣本選取

確定訓練樣本、測試樣本的觀察窗(特徵的時間跨度)與表現窗(標籤的時間跨度),且樣本的標籤定義是什麼?一般情況下風險評分卡的標籤都是考慮客戶某一段時間內的延滯情況。

 

特徵準備

原始特徵、衍生變量

 

數據清洗

根據業務需求對缺失值或異常值等進行處理

 

特徵篩選

根據特徵的 IV 值(特徵對模型的貢獻度)、PSI(特徵的穩定性)來進行特徵篩選,IV 值越大越好(但是一個特徵的 IV 值超過一定閾值可能要考慮是否用到未來數據),PSI 越小越好(一般建模時取特徵的 PSI 小於等於0.01)

 

對特徵進行 WOE 轉換

即對特徵進行分箱操作,注意在進行 WOE 轉換時要注重特徵的可解釋性

 

建立模型

在建立模型過程中可根據模型和變量的統計量判斷模型中包含和不包含每個變量時的模型質量來進行變量的二次篩選。

 

評分指標

評分卡模型一般關注的指標是 KS 值(衡量的是好壞樣本累計分部之間的差值)、模型的 PSI(即模型整體的穩定性)、AUC 值等。

 

知識圖譜

 

1

知識圖譜是什麼

知識圖譜是一種結構化數據的處理方法,它涉及知識的提取、表示、存儲、檢索等一系列技術。從淵源上講,它是知識表示與推理、數據庫、信息檢索、自然語言處理等多種技術發展的融合。

 

2

推薦資料

爲什麼需要知識圖譜?什麼是知識圖譜?——KG 的前世今生

https://zhuanlan.zhihu.com/p/31726910

 

什麼是知識圖譜?

https://zhuanlan.zhihu.com/p/34393554

 

智能搜索時代:知識圖譜有何價值?

https://zhuanlan.zhihu.com/p/35982177?from=1084395010&wm=9848_0009&weiboauthoruid=5249689143

 

百度王海峯:知識圖譜是 AI 的基石

http://www.infoq.com/cn/news/2017/11/Knowledge-map-cornerstone-AI#0-tsina-1-5001-397232819ff9a47a7b7e80a40613cfe1

 

譯文|從知識抽取到 RDF 知識圖譜可視化

http://rdc.hundsun.com/portal/article/907.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

 

3

主要內容

3.1 知識提取

 

構建 kg 首先需要解決的是數據,知識提取是要解決結構化數據生成的問題。我們可以用自然語言處理的方法,也可以利用規則。

 

3.1.1 使用規則

 

正則表達式

正則表達式(Regular Expression, regex)是字符串處 理的基本功。數據爬取、數據清洗、實體提取、關係提取,都離不開 regex。

 

推薦資料入門:

精通正則表達式

regexper 可視化:例 [a-z]*(\d{4}(\D+))

pythex 在線測試正則表達式:

 http://pythex.org/

 

推薦資料進階:

re2 :

Python wrapper for Google's RE2 using Cython

https://pypi.python.org/pypi/re2/

Parsley :更人性化的正則表達語法

http://parsley.readthedocs.io/en/latest/tutorial.html

 

中文分詞和詞性標註

分詞也是後續所有處理的基礎,詞性(Part of Speech, POS)就是中學大家學過的動詞、名詞、形容詞等等的詞的分類。一般的分詞工具都會有詞性標註的選項。

 

推薦資料入門:

jieba 中文分詞包  

https://github.com/fxsjy/jieba

中文詞性標記集 

https://github.com/memect/kg-beijing/wiki/

 

推薦資料進階:

genius 採用 CRF 條件隨機場算法 

https://github.com/duanhongyi/genius

Stanford CoreNLP 分詞  

https://blog.csdn.net/guolindonggld/article/details/72795022

 

命名實體識別

命名實體識別(NER)是信息提取應用領域的重要基礎工具,一般來說,命名實體識別的任務就是識別出待處理文本中三大類(實體類、時間類和數字類)、七小類(人名、機構名、地名、時間、日期、貨幣和百分比)命名實體。

 

推薦資料:

Stanford CoreNLP 進行中文命名實體識別 

https://blog.csdn.net/guolindonggld/article/details/72795022

 

3.1.2 使用深度學習

使用自然語言處理的方法,一般是給定 schema,從非結構化數據中抽取特定領域的三元組(spo),如最近百度舉辦的比賽就是使用 DL 模型進行信息抽取。

 

序列標註

使用序列生出模型,主要是標記出三元組中 subject 及 object 的起始位置,從而抽取信息。

 

推薦資料:

序列標註問題 

https://www.cnblogs.com/jiangxinyang/p/9368482.html

 

Seq2Seq

使用 Seq2Seq 端到端的模型,主要借鑑文本摘要的思想,將三元組看成是非結構化文本的摘要,從而進行抽取,其中還涉及 Attention 機制。

 

推薦資料:

Seq2Seq 詳解 

https://blog.csdn.net/irving_zhang/article/details/78889364

 

詳解從Seq2Seq模型到Attention模型  

https://caicai.science/2018/10/06/attention%E6%80%BB%E8%A7%88/

 

3.2 知識表示

知識表示(Knowledge Representation,KR,也譯爲知識表現)是研究如何將結構化數據組織,以便於機器處理和人的理解的方法。

需要熟悉下面內容:

 

JSON 和 YAML

JSON 庫:

https://docs.python.org/2/library/json.html

PyYAML: 是 Python 裏的 YAML 處理庫

http://pyyaml.org/wiki/PyYAML

RDF 和 OWL 語義:

http://blog.memect.cn/?p=871 

JSON-LD

主頁:http://json-ld.org/

 

3.3 知識存儲

需要熟悉常見的圖數據庫

a.知識鏈接的方式:字符串、外鍵、URI

b.PostgreSQL 及其 JSON 擴展

Psycopg 包操作 PostgreSQL 

http://initd.org/psycopg/docs/

c.圖數據庫 Neo4j 和 OrientDB

1.Neo4j 的 Python 接口 https://neo4j.com/developer/python/

2.OrientDB:http://orientdb.com/orientdb/

d.RDF 數據庫 Stardog

Stardog 官網:http://stardog.com/

 

3.4 知識檢索

需要熟悉常見的檢索技術

ElasticSearch 教程:

http://joelabrahamsson.com/elasticsearch-101/

 

4

相關術語及技術路線

本體:

https://www.zhihu.com/question/19558514

RDF:

https://www.w3.org/RDF/

Apache Jena:

https://jena.apache.org/

D2RQ:

http://d2rq.org/getting-started

 

4.1 Protege 構建本體系列

Protege:

https://protege.stanford.edu/

Protege 使用:

https://zhuanlan.zhihu.com/p/32389370

 

4.2 開發語言

Python 或 Java

 

4.3 圖數據庫技術

Neo4j:https://neo4j.com/

AllegroGraph:https://franz.com/agraph/allegrograph/

 

4.4 可視化技術

d3.js:https://d3js.org/

Cytoscape.js:http://js.cytoscape.org/

 

4.5 分詞技術

jieba:https://github.com/fxsjy/jieba

hanlp:https://github.com/hankcs/HanLP

 

5

項目實戰

基於知識圖譜的問答:

https://github.com/kangzhun/KnowledgeGraph-QA-Service

Agriculture_KnowledgeGraph:

https://github.com/qq547276542/Agriculture_KnowledgeGraph

 

 

貢獻平臺

 

由知名開源平臺,AI技術平臺以及領域專家:ApacheCN,Datawhale,AI有道和黃海廣博士聯合整理貢獻:

1.ApacheCN:片刻,李翔宇,飛龍,王翔

2.Datawhale:範晶晶,馬晶敏,李碧涵,李福,光城,居居,康兵兵,鄭家豪

3.AI有道:紅色石頭

4.黃海廣博士

 

 

平臺介紹

Datawhale

一個專注於 AI 領域的開源組織,上海交通大學國家級孵化項目,目前有 7 個獨立團隊,聚集了一羣有開源精神和探索精神的團隊成員,匯聚了來自各個高校和企業的優秀學習者,致力於構建純粹的學習圈子和優質的開源項目,提供的組隊學習涵蓋了數據分析,數據挖掘,機器學習,深度學習,編程等 16 個內容領域。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章