導讀:本文內容涵蓋AI入門基礎知識、資料分析/挖掘、機器學習、深度學習、強化學習、前沿Paper和五大AI理論應用領域:自然語言處理,計算機視覺,推薦系統,風控模型和知識圖譜。是你學習AI從入門到專家必備的學習路線和優質學習資源。
本文由知名開源平臺,AI技術平臺以及領域專家:Datawhale,ApacheCN,AI有道和黃海廣博士聯合整理貢獻。
01 基礎知識
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
Ubuntu18.04深度學習環境配置(CUDA9+CUDNN7.4+TensorFlow1.8):
https://zhuanlan.zhihu.com/p/50302396
2) python入門的資料推薦
- 廖雪峰python學習筆記
https://blog.csdn.net/datawhale/article/category/7779959
- python入門筆記
作者李金,這個是jupyter notebook檔案,把python的主要語法演示了一次,值得推薦。
下載連結:
https://pan.baidu.com/s/1IPZI5rygbIh5R5OuTHajzA
提取碼: 2bzh
- 南京大學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
02 資料分析/挖掘
1.資料分析的基礎書籍
《利用python進行資料分析》:這本書含有大量的實踐案例,你將學會如何利用各種Python庫(包括NumPy,Pandas、Matplotlib以及IPython等)高效地解決各式各樣的資料分析問題。如果把程式碼都執行一次,基本上就能解決資料分析的大部分問題了。
2. 特徵工程
https://blog.csdn.net/Datawhale/article/details/83033869
3. 資料探勘專案
03 機器學習
1. 公開課 | 吳恩達《Machine Learning》
這絕對是機器學習入門的首選課程,沒有之一!即便你沒有紮實的機器學習所需的紮實的機率論、線性代數等數學基礎,也能輕鬆上手這門機器學習入門課,並體會到機器學習的無窮趣味。
- 課程主頁
https://www.coursera.org/learn/machine-learning
- 中文影片
網易雲課堂搬運了這門課,並由黃海廣等人翻譯了中文字幕。
- 中文筆記及作業程式碼
2. 公開課 | 吳恩達 CS229
吳恩達在斯坦福教授的機器學習課程 CS229 與 吳恩達在 Coursera 上的《Machine Learning》相似,但是有更多的數學要求和公式的推導,難度稍難一些。該課程對機器學習和統計模式識別進行了廣泛的介紹。
- 課程主頁
- 中文影片
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
3. 公開課 | 林軒田《機器學習基石》
臺灣大學林軒田老師的《機器學習基石》課程由淺入深、內容全面,基本涵蓋了機器學習領域的很多方面。其作為機器學習的入門和進階資料非常適合。而且林老師的教學風格也很幽默風趣,總讓讀者在輕鬆愉快的氛圍中掌握知識。這門課比 Ng 的《Machine Learning》稍難一些,側重於機器學習理論知識。
- 中文影片
https://www.bilibili.com/video/av36731342
- 中文筆記
https://redstonewill.com/category/ai-notes/lin-ml-foundations/
- 配套教材
配套書籍為《Learning From Data》,線上書籍主頁:
4. 公開課 | 林軒田《機器學習技法》
《機器學習技法》課程是《機器學習基石》的進階課程。主要介紹了機器學習領域經典的一些演算法,包括支援向量機、決策樹、隨機森林、神經網路等等。難度要略高於《機器學習基石》,具有很強的實用性。
- 中文影片
https://www.bilibili.com/video/av36760800
- 中文筆記
https://redstonewill.com/category/ai-notes/lin-ml-techniques/
5. 書籍 | 《機器學習》
周志華的《機器學習》被大家親切地稱為“西瓜書”。這本書非常經典,講述了機器學習核心數學理論和演算法,適合有作為學校的教材或者中階讀者自學使用,入門時學習這本書籍難度稍微偏高了一些。
配合《機器學習實戰》一起學習,效果更好!
- 讀書筆記
https://www.cnblogs.com/limitlessun/p/8505647.html#_label0
- 公式推導
https://datawhalechina.github.io/pumpkin-book/#/
- 課後習題
https://zhuanlan.zhihu.com/c_1013850291887845376
6. 書籍 | 《統計學習方法》
李航的這本《統計學習方法》堪稱經典,包含更加完備和專業的機器學習理論知識,作為夯實理論非常不錯。
- 講課 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
7. 書籍 | 《機器學習實戰:基於Scikit-Learn和TensorFlow》
在經過前面的學習之後,這本《機器學習實戰:基於Scikit-Learn和TensorFlow》非常適合提升你的機器學習實戰程式設計能力。
這本書分為兩大部分,第一部分介紹機器學習基礎演算法,每章都配備 Scikit-Learn 實操專案;第二部分介紹神經網路與深度學習,每章配備 TensorFlow 實操專案。如果只是機器學習,可先看第一部分的內容。
- 全書程式碼
8. 實戰 | Kaggle 比賽
比賽是提升自己機器學習實戰能力的最有效的方式,首選 Kaggle 比賽。
- Kaggle 主頁
- Kaggle 路線
https://github.com/apachecn/kaggle
9. 工具 | Scikit-Learn 官方文件
Scikit-Learn 作為機器學習一個非常全面的庫,是一份不可多得的實戰程式設計手冊。
- 官方文件
https://scikit-learn.org/stable/index.html
- 中文文件(0.19)
http://sklearn.apachecn.org/#/
04 深度學習
1. 公開課 | 吳恩達《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
2. 公開課 | 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
3. 公開課 | CS230 Deep Learning
斯坦福的深度學習課程CS230在4月2日剛剛開課,對應的全套PPT也隨之上線。從內容來看,今年的課程與去年的差別不大,涵蓋了CNNs, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization 等深度學習的基本模型,涉及醫療、自動駕駛、手語識別、音樂生成和自然語言處理等領域。
Datawhale整理了該門課程的詳細介紹及參考資料:
吳恩達CS230深度學習開課了!影片配套PPT應有盡有
https://mp.weixin.qq.com/s/kA-L8t5mGq6jExMBRjyg4g
4. 書籍 | 神經網路與深度學習 — 復旦邱錫鵬
本書是入門深度學習領域的極佳教材,主要介紹了神經網路與深度學習中的基礎知識、主要模型(前饋網路、卷積網路、迴圈網路等)以及在計算機視覺、自然語言處理等領域的應用。
復旦教授邱錫鵬開源釋出《神經網路與深度學習》
https://mp.weixin.qq.com/s/-NaDpXsxvu4DpXqVNXIAvQ
5. 書籍 | 《深度學習》
完成以上學習後,想要更加系統的建立深度學習的知識體系,閱讀《深度學習》準沒錯。該書從淺入深介紹了基礎數學知識、機器學習經驗以及現階段深度學習的理論和發展,它能幫助人工智慧技術愛好者和從業人員在三位專家學者的思維帶領下全方位瞭解深度學習。
- 書籍介紹
《深度學習》通常又被稱為花書,深度學習領域最經典的暢銷書。由全球知名的三位專家IanGoodfellow、YoshuaBengio和AaronCourville撰寫,是深度學習領域奠基性的經典教材。該書被大眾尊稱為“AI聖經”。
- 線上閱讀
該書由眾多網友眾包翻譯,電子版在以下地址獲得:
https://github.com/exacity/deeplearningbook-chinese
6. 書籍 | 《深度學習 500 問》
當你看完了所有的影片,研習了AI聖經,一定充滿了滿腦子問號,此時不如來深度學習面試中常見的500個問題。
- 書籍介紹
DeepLearning-500-questions,作者是川大的一名優秀畢業生談繼勇。該專案以深度學習面試問答形式,收集了 500 個問題和答案。內容涉及了常用的機率知識、線性代數、機器學習、深度學習、計算機視覺等熱點問題,該書目前尚未完結,卻已經收穫了Github 2.4w stars。
專案地址:
https://github.com/scutan90/DeepLearning-500-questions
7. 工具 | TensorFlow 官方文件
學深度學習一定離不開TensorFlow。
官方文件:
https://www.tensorflow.org/api_docs/python/tf
中文文件:
https://github.com/jikexueyuanwiki/tensorflow-zh
8. 工具 | PyTorch官方文件
PyTorch是學深度學習的另一個主流框架。
官方文件:
https://pytorch.org/docs/stable/index.html
中文文件(版本0.3):
https://github.com/apachecn/pytorch-doc-zh
05 強化學習
1. 公開課 | 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
2. 公開課 | 李宏毅《深度強化學習》
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
06 前沿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
這份深度學習論文閱讀路線分為三大塊:
- Deep Learning History and Basics
- Deep Learning Method
- 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。
07 理論應用
1. 自然語言處理
1.1 NLP是什麼
自然語言處理(NLP,Natural Language Processing)是研究計算機處理人類語言的一門技術,目的是彌補人類交流(自然語言)和計算機理解(機器語言)之間的差距。NLP包含句法語義分析、資訊抽取、文字挖掘、機器翻譯、資訊檢索、問答系統和對話系統等領域。
1.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
1.3 書籍推薦
- Python自然語言處理
入門讀物,整本書不僅涉及了語料庫的操作,也對傳統的基於規則的方法有所涉及。全書包括了分詞(tokenization)、詞性標註(POS)、語塊(Chunk)標註、句法剖析與語義剖析等方面,是nlp中不錯的一本實用教程。
- 自然語言處理綜論
By Daniel Jurafsky和James H. Martin
本書十分權威,是經典的NLP教科書,涵蓋了經典自然語言處理、統計自然語言處理、語音識別和計算語言學等方面。
- 統計自然語言處理基礎
By Chris Manning和HinrichSchütze
更高階的統計NLP方法,在統計基本部分和n元語法部分介紹得都很不錯。
1.4 部落格推薦
- 我愛自然語言處理
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等學術會議的參會感想和對論文的點評
1.5 專案推薦
- 基於LSTM的中文問答系統
https://github.com/S-H-Y-GitHub/QA
- 基於RNN的文字生成器
https://github.com/karpathy/char-rnn
- 用RNN生成手寫數字
https://github.com/skaae/lasagne-draw
1.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
1.7 相關論文
100 Must-Read NLP Papers
https://github.com/mhagiwara/100-nlp-papers
2. 計算機視覺
2.1 計算機視覺的應用
2.2 課程推薦
- Stanford CS223B
比較適合基礎,適合剛剛入門的同學,跟深度學習的結合相對來說會少一點,不會整門課講深度學習,而是主要講計算機視覺,方方面面都會講到。
- 李飛飛CS231n課程
https://mp.weixin.qq.com/s/-NaDpXsxvu4DpXqVNXIAvQ
2.3 書籍推薦
入門學習:
《Computer Vision:Models, Learning and Inference》
經典權威的參考資料:
《Computer Vision:Algorithms and Applications》
理論實踐:
《OpenCV3程式設計入門》
3. 推薦系統
3.1 推薦系統是什麼
推薦系統就是自動聯絡使用者和物品的一種工具,它能夠在資訊過載的環境中幫助使用者發現令他們感興趣的資訊,也能將資訊推送給對它們感興趣的使用者。推薦系統屬於資訊過濾的一種應用。
3.2 推薦課程
- 推薦系統專項課程《Recommender Systems Specialization》
這個系列由4門子課程和1門畢業專案課程組成,包括推薦系統導論,最近鄰協同過濾,推薦系統評價,矩陣分解和高階技術等。
觀看地址:
https://www.coursera.org/specializations/recommender-systems
3.3 書籍推薦
- 《推薦系統實踐》(項亮 著)
- 《推薦系統》(Dietmar Jannach等 著,蔣凡 譯)
- 《使用者網路行為畫像》(牛溫佳等 著)
- 《Recommender Systems Handbook》(Paul B·Kantor等 著)
3.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版本的開源推薦系統,有多種經典推薦演算法。
- Neural Collaborative Filtering
神經協同過濾推薦演算法的Python實現。
專案地址:
https://github.com/hexiangnan/neural_collaborative_filtering
- Crab
基於Python開發的開源推薦軟體,其中實現有item和user的協同過濾。
專案地址:
http://muricoca.github.io/crab/
3.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圖書社群上採集的。
3.6 推薦論文
經典必讀論文整理,包括綜述文章、傳統經典推薦文章、社會化推薦文章、基於深度學習的推薦系統文章、專門用於解決冷啟動的文章、POI相關的論文、利用雜湊技術來加速推薦的文章以及推薦系統中經典的探索與利用問題的相關文章等。
專案地址:
https://github.com/hongleizhang/RSPapers
3.7 推薦專案
今日頭條推薦系統機制介紹,面向內容創作者。分享人:項亮,今日頭條推薦演算法架構師。
https://v.qq.com/x/page/f0800qavik7.html?
3分鐘瞭解今日頭條推薦系統原理:
https://v.qq.com/x/page/g05349lb80j.html?
facebook是如何為十億人推薦好友的:
https://code.facebook.com/posts/861999383875667/recommending-items-to-more-than-a-billion-people/
Netflix的個性化和推薦系統架構:
http://techblog.netflix.com/2013/03/system-architectures-for.html
4. 風控模型(評分卡模型)
4.1 評分卡模型簡介
評分卡模型時在銀行、互金等公司與借貸相關業務中最常見也是最重要的模型之一。簡而言之它的作用就是對客戶進行打分,來對客戶是否優質進行評判。
根據評分卡模型應用的業務階段不用,評分卡模型主要分為三大類:A卡(Application score card)申請評分卡、B卡(Behavior score card)行為評分卡、C卡(Collection score card)催收評分卡。其中申請評分卡用於貸前,行為評分卡用於貸中,催收評分卡用於貸後,這三種評分卡在我們的信貸業務的整個生命週期都至關重要。
4.2 推薦書籍
《信用風險評分卡研究 — — 基於SAS的開發與實施》
4.3 評分卡模型建模過程
- 樣本選取:確定訓練樣本、測試樣本的觀察窗(特徵的時間跨度)與表現窗(標籤的時間跨度),且樣本的標籤定義是什麼?一般情況下風險評分卡的標籤都是考慮客戶某一段時間內的延滯情況。
- 特徵準備:原始特徵、衍生變數。
- 資料清洗:根據業務需求對缺失值或異常值等進行處理。
- 特徵篩選:根據特徵的IV值(特徵對模型的貢獻度)、PSI(特徵的穩定性)來進行特徵篩選,IV值越大越好(但是一個特徵的IV值超過一定閾值可能要考慮是否用到未來資料),PSI越小越好(一般建模時取特徵的PSI小於等於0.01)。
- 對特徵進行WOE轉換:即對特徵進行分箱操作,注意在進行WOE轉換時要注重特徵的可解釋性。
- 建立模型:在建立模型過程中可根據模型和變數的統計量判斷模型中包含和不包含每個變數時的模型質量來進行變數的二次篩選。
- 評分指標:評分卡模型一般關注的指標是KS值(衡量的是好壞樣本累計分部之間的差值)、模型的PSI(即模型整體的穩定性)、AUC值等。
5. 知識圖譜
5.1 知識圖譜是什麼
知識圖譜是一種結構化資料的處理方法,它涉及知識的提取、表示、儲存、檢索等一系列技術。從淵源上講,它是知識表示與推理、資料庫、資訊檢索、自然語言處理等多種技術發展的融合。
5.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 的基石
譯文|從知識抽取到RDF知識圖譜視覺化
5.3 主要內容
5.3.1 知識提取
構建kg首先需要解決的是資料,知識提取是要解決結構化資料生成的問題。我們可以用自然語言處理的方法,也可以利用規則。
5.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
5.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/
5.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/
5.3.3 知識儲存
需要熟悉常見的圖資料庫
a. 知識連結的方式:字串、外來鍵、URI
b. PostgreSQL及其JSON擴充套件
Psycopg包操作PostgreSQL
http://initd.org/psycopg/docs/
c. 圖資料庫 Neo4j和OrientDB
Neo4j的Python介面:
https://neo4j.com/developer/python/
OrientDB:
http://orientdb.com/orientdb/
d. RDF資料庫Stardog
Stardog官網:http://stardog.com/
5.3.4 知識檢索
需要熟悉常見的檢索技術
ElasticSearch教程:
http://joelabrahamsson.com/elasticsearch-101/
5.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
5.4.1 Protege構建本體系列
protege:
https://protege.stanford.edu/
protege使用:
https://zhuanlan.zhihu.com/p/32389370
5.4.2 開發語言
python或java。
5.4.3 圖資料庫技術
Neo4j:
https://neo4j.com/
AllegroGraph:
https://franz.com/agraph/allegrograph/
5.4.4 視覺化技術
d3.js:https://d3js.org/
Cytoscape.js:http://js.cytoscape.org/
5.4.5 分詞技術
jieba:https://github.com/fxsjy/jieba
hanlp:https://github.com/hankcs/HanLP
5.5 專案實戰
基於知識圖譜的問答:
https://github.com/kangzhun/KnowledgeGraph-QA-Service
Agriculture_KnowledgeGraph:
https://github.com/qq547276542/Agriculture_KnowledgeGraph
本文貢獻平臺
由知名開源平臺,AI技術平臺以及領域專家:ApacheCN,Datawhale,AI有道和黃海廣博士聯合整理貢獻:
- ApacheCN:片刻,李翔宇,飛龍,王翔
- Datawhale:範晶晶,馬晶敏,李碧涵,李福,光城,居居,康兵兵,鄭家豪
- AI有道:紅色石頭
- 黃海廣博士
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
更多精彩內容,按讚我的臉書 IT Value 研討社,獲得24個行業240份企業數位轉型資料喔!等你來看喔 😃
推薦閱讀
●Excel、Python靠邊站,這才是實現報表自動化最快的方法
●什麼是元宇宙、新基建、賽博空間?7個最火科技名詞解釋,都在這裡了