開源!Gartner力推的百頁機(jī)器學(xué)習(xí)書,可以免費(fèi)下載了!
如今的大型企業(yè)都在經(jīng)歷著自工業(yè)化以來***的變革。人工智能顛覆了工業(yè),顛覆了我們的工作、思考和互動(dòng)的方式,Gartner的一項(xiàng)報(bào)告預(yù)測,到2020年,人工智能將創(chuàng)造230萬個(gè)就業(yè)崗位,以此同時(shí)也會(huì)減少180萬個(gè)人力崗位。機(jī)器學(xué)習(xí)是驅(qū)動(dòng)人工智能發(fā)展的主要?jiǎng)恿?,這個(gè)領(lǐng)域的專家數(shù)量不多,各大企業(yè)都在爭搶高技能人才。
說到這里,你可能已經(jīng)猜到猿哥今天要和大家分享的是一本有關(guān)人工智能的書,這本書只有152頁,非常簡短。名叫——《The Hundred-Page Machine Learning Book》
但麻雀雖小五臟俱全,這本書涵蓋了監(jiān)督和非監(jiān)督式學(xué)習(xí),支持向量機(jī),神經(jīng)網(wǎng)絡(luò),集成方法,梯度下降法,聚類分析和數(shù)據(jù)降維,自編碼和遷移學(xué)習(xí),特征工程和超參數(shù)優(yōu)化,數(shù)學(xué)知識(shí)、插圖等內(nèi)容都包含在這本152頁的書籍里
具體的章節(jié)目錄如下:
- 前言
- 第 1 章:介紹
- ***部分:監(jiān)督式學(xué)習(xí)
- 第二章:標(biāo)記和定義
- 第三章:基礎(chǔ)算法
- 第四章:學(xué)習(xí)算法的解剖
- 第五章:基礎(chǔ)實(shí)戰(zhàn)
- 第六章:神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)
- 第七章:問題與解決
- 第八章:進(jìn)階實(shí)戰(zhàn)
- 第二部分:非監(jiān)督式學(xué)習(xí)和其它學(xué)習(xí)
- 第九章:非監(jiān)督式學(xué)習(xí)
- 第十章:其它形式學(xué)習(xí)
- 第十一章:結(jié)論
作者本著先閱讀后購買的原則,因此你可以先在在線免費(fèi)閱讀/下載書籍,直到你認(rèn)為它值得你購買的時(shí)候再購買。
這本書在線閱讀還有一個(gè)好處就是,在頁面的右側(cè)有網(wǎng)友評(píng)論,你可以通過網(wǎng)友評(píng)論發(fā)現(xiàn)本書錯(cuò)誤或者不足的地方,從而避免被誤導(dǎo),還能查看作者***的更新時(shí)間等
除此之外,作者還在GitHub上開源了本書配套的所有代碼
GitHub地址:https://github.com/aburkov/theMLbook
比如多元高斯分布(GaussianMixture Model GMM)這個(gè)內(nèi)容,作者在書的9.2.4進(jìn)行了詳細(xì)的講解:
再如第三章中的關(guān)于線性回歸算法的介紹:線性回歸算法是一種流行的回歸學(xué)習(xí)算法,學(xué)習(xí)的模型是利用數(shù)理統(tǒng)計(jì)中的回歸分析
其對(duì)應(yīng)的Python代碼如下:
- import numpy as np
- import matplotlib.pyplot as plt
- from sklearn.linear_model import Ridge
- from sklearn.preprocessing import PolynomialFeatures
- from sklearn.pipeline import make_pipeline
- import matplotlib
- matplotlib.rcParams['mathtext.fontset'] = 'stix'
- matplotlib.rcParams['font.family'] = 'STIXGeneral'
- matplotlib.rcParams.update({'font.size': 18})
- def f(x):
- """ function to approximate by polynomial interpolation"""
- return 0.5 * x
- # generate points used to plot
- x_plot = np.linspace(-10, 10, 100)
- # generate points and keep a subset of them
- x = np.linspace(-10, 10, 100)
- rng = np.random.RandomState(0)
- rng.shuffle(x)
- x = np.sort(x[:10])
- noize = [(-2 + np.random.random()*2) for i in range(len(x))]
- y = f(x) + noize
- # create matrix versions of these arrays
- X = x[:, np.newaxis]
- X_plot = x_plot[:, np.newaxis]
- colors = ['red', 'red']#, 'orange'
- lw = 2
- type_of_regression = ["linear regression", "regression of degree 10"]
- fit = ["fit", "overfit"]
- for count, degree in enumerate([1,10]):#, 2, 15
- plt.figure(count)
- axes = plt.gca()
- axes.set_xlim([-10,10])
- axes.set_ylim([-10,10])
- plt.scatter(x, y, color='navy', s=30, marker='o', label="training examples")
- plt.xticks([-10.0, -5.0, 0.0, 5.0, 10.0])
- plt.yticks([-10.0, -5.0, 0.0, 5.0, 10.0])
- model = make_pipeline(PolynomialFeatures(degree), Ridge())
- model.fit(X, y)
- y_plot = model.predict(X_plot)
- plt.plot(x_plot, y_plot, color=colors[count], linewidth=lw,
- label=type_of_regression[count])
- plt.legend(loc='best')
- fig1 = plt.gcf()
- fig1.subplots_adjust(top = 0.98, bottom = 0.1, right = 0.98, left = 0.08, hspace = 0, wspace = 0)
- fig1.savefig('../../Illustrations/linear-regression-' + fit[count] + '.eps', format='eps', dpi=1000, bbox_inches = 'tight', pad_inches = 0)
- fig1.savefig('../../Illustrations/linear-regression-' + fit[count] + '.pdf', format='pdf', dpi=1000, bbox_inches = 'tight', pad_inches = 0)
- fig1.savefig('../../Illustrations/linear-regression-' + fit[count] + '.png', dpi=1000, bbox_inches = 'tight', pad_inches = 0)
- plt.show()
也就是說這本書里的插圖都附有源代碼,這些源代碼你都可以在GitHub上找到。
關(guān)于作者
Andriy Burkov,是一名機(jī)器學(xué)習(xí)專家,早在九年前就已經(jīng)取得了博士學(xué)位,他的專長是自然語言處理,在人工智能方面,過去的7年里,Andriy Burkov一直在Gartner帶領(lǐng)一個(gè)機(jī)器學(xué)習(xí)開發(fā)團(tuán)隊(duì)。
***,附上本書的下載地址:http://themlbook.com/wiki/doku.php