01.29 機器學習和大數據資料打包下載,宅在家裡學習吧

與其宅在家裡無聊,不如利用網絡免費資源豐富一下自己的知識儲備。這裡我總結了一下大數據和AI相關領域的免費資源,這些書籍和資料都是我個人閱讀過,一些閱讀經驗也和大家分享一下。鑑於當前形勢,購買書籍不太方便,我已經將這些書籍的電子版打包整理好,文末有下載方式。

機器學習

機器學習

機器學習和大數據資料打包下載,宅在家裡學習吧

入門機器學習有兩本必讀的中文書:周志華的《機器學習》和李航的《統計學習方法》。這兩本書主要介紹機器學習的統計學原理,深入淺出,是機器學習必不可少的好書。其中,周志華的《機器學習》封面是一個西瓜,內容中大量使用了瓜來舉例,因此被稱為西瓜書。我認為,對於零基礎的朋友,周志華的這本西瓜書入門機器學習更合適。《統計學習方法》適合面試算法工程師前快速地回顧和梳理知識。我建議在有一定的《機器學習》閱讀基礎後,再學習《統計學習方法》。

深度學習

深度學習領域很多人推薦Ian Goodfellow和Yoshua Bengio等大牛的《Deep Learning》,因其封面是一幅花的油畫,被稱為花書。中文本由北大張志華老師團隊翻譯。我自己讀過中文版,讀了兩三張放棄了,因為整本書主要介紹深度學習背後的各種數學推導,即使有一定數學基礎的朋友也可能需要花費大量精力啃明白這本書,因此這本書更適合深度學習相關的博士生和研發人員。有英文基礎的朋友可以直接在線閱讀:http://www.deeplearningbook.org/。

相對而言我建議一些有代碼示例的課程,比如Keras之父的《Python深度學習》和亞馬遜李沐的《動手學深度學習》。學好這兩本書中的任意一本基本就能對深度學習有更全面的理解了。

機器學習和大數據資料打包下載,宅在家裡學習吧

我認為《Python深度學習》是初學者入門深度學習的最佳書籍之一。書中使用了大量的案例,包括計算機視覺和自然語言處理等,而且主要使用Keras實現,代碼簡介、可讀性強。作者將書中的代碼放到了github(https://github.com/fchollet/deep-learning-with-python-notebooks)上開源了。

李沐的《動手學深度學習》也是一本一邊學原理一邊動手練習的入門書籍。該書目前已經在網絡上開源,地址為:https://zh.d2l.ai/ 。這本書也是伯克利的深度學習課程教材,相關在線教學視頻已經放到了B站上:https://www.bilibili.com/video/av41702832。這本書有一個小缺點,就是代碼主要使用亞馬遜主推的MXNet框架,與當前主流的TensorFlow和PyTorch肯定略有不同。不過,有人已經將書裡面的相關代碼用PyTorch翻譯了一遍:https://github.com/dsgiitr/d2l-pytorch。所以相比《Python深度學習》而言,MXNet可能是它的一個小缺點吧。

如果將上面這些書都弄明白,你已經是一名機器學習高手了。說實話,機器學習的有些問題我也沒有100%搞懂。

大數據

這年頭,算法工程師競爭越來越激烈了,只懂深度學習可能已經沒那麼吃香了,找到一份好的算法工程師工作還需要一些大數據的背景,畢竟各大公司都是在大數據上做深度學習的。大數據各家公司的技術棧不太一樣,但主要依賴幾個工具:Hadoop、SQL、Spark、Flink。接下來分別推薦一些資料。

Hadoop

Hadoop是大數據生態中的基石,這頭大象已經十幾歲了,儘管有人認為Hadoop太老了,但它仍然是很多公司首選的大數據基礎架構。這裡重磅推薦《Hadoop權威指南》這本書。這本書不僅僅講解了Hadoop這項技術,更是對Hadoop生態中的核心組件做了全面的介紹,包括HDFS、MapReduce、YARN、Hive、HBase、Spark等,這些技術目前被廣泛應用在各大公司。因此,我認為這是一本非常好的入門Hadoop和大數據的書籍。可惜的是,這本書我沒找到中文第四版PDF。

機器學習和大數據資料打包下載,宅在家裡學習吧

SQL

SQL是很多公司經常使用的數據分析工具,比如基於Hive來寫SQL。對SQL還不太熟悉的朋友可以通過這個網站學習SQL基本語法:https://www.runoob.com/sql/sql-tutorial.html。

Hive的語法與SQL很像,它與Hadoop生態聯繫更緊密。這裡推薦《Hive編程指南》來學習Hive編程。

Spark

Spark已經是大數據批處理領域絕對的王者。Scala是Spark的主要開發語言,也是官方推薦的最佳API語言。我認為學習Spark最大的難點可能是Scala這門編程語言了,因為Scala太靈活了,太過靈活以至於初學者容易找不到方向。這裡推薦幾個Scala的在線學習網站:

  • Twitter的Scala課堂(中文):https://twitter.github.io/scala_school/zh_cn/index.html
  • Scala教程:https://www.runoob.com/scala/scala-tutorial.html

至於Spark,說實話我沒有看過任何書籍,一方面主要是因為Spark的迭代很快,很多書已經有些落伍了,另一方面Spark的官方文檔(http://spark.apache.org/docs/latest/index.html)也比較詳細,可以用來入門Spark。

Flink

Flink現在是大數據領域的新星,在流處理領域有絕對的優勢,相比而言比Spark更難掌握一些。目前市面上好的書籍有Flink主要開發人員編寫的《Stream Processing with Apache Flink》。這本書對Flink的原理和架構有比較詳細的描述,美中不足的是英文原版,有英文基礎的朋友可以閱讀一下。目前中文領域我認為還沒有特別好的書籍來推薦,我的專欄裡有大量對Flink的介紹,是在閱讀Flink源碼以及英文資料基礎上完成的,有興趣的朋友可以閱讀一下。

下載方式

感興趣的朋友可以私信我,我會回覆書籍電子版的下載鏈接。這些電子版都是我從網絡中收集到的,當然還是建議大家購買和支持正版書籍。資料分享就到這裡了,感興趣的朋友可以關注我的專欄,留言說出你想學習和了解的技術和領域。


分享到:


相關文章: