李宏毅《機器學習》完整筆記 —— 這可能是Github上最好的機器學習資源

2019-09-04 01:37:02

開源最前線(ID:OpenSourceTop) 猿妹綜合整理

綜合自:https://github.com/datawhalechina/leeml-notes、https://datawhalechina.github.io/leeml-notes


李宏毅老師的機器學習視頻是機器學習領域經典的中文視頻之一,也被稱為中文世界中最好的機器學習視頻。李老師以幽默風趣的上課風格讓很多晦澀難懂的機器學習理論變得輕鬆易懂,並且老師會通過很多有趣的例子結合機器學習理論在課堂上展現出來,並且逐步推導深奧的理論知識。比如老師會經常用寶可夢來結合很多機器學習算法。對於想入門機器學習又想看中文講解的人來説絕對是非常推薦的。



前不久,Github上出現了一個叫 leeml-notes 的開源項目,完整梳理了李宏毅機器學習視頻課程筆記,可以作為視頻學習的一個輔助資料,因為它不僅完全復刻李老師課堂上講的所有內容,還加入了一些和相關的學習補充資料和參考資料,結合這些資料一起學習,相信你會對機器學習有更加深刻的理解。



這份項目由8位成員整理創建,目前已經在Github上獲得 2849 個Star,780 個Fork,提交了 360 個commits(Github地址:https://github.com/datawhalechina/leeml-notes


筆記完整的目錄如下:



下面一起來看看筆記裏面有什麼精華內容:


機器學習介紹



圖文並茂解釋每個知識點,上圖解釋了什麼是機器學習。



迴歸演示

豐富的代碼示例,下面以迴歸演示為例:現在假設有10個x_data和y_data,x和y之間的關係是y_data=b+w*x_data。b,w都是參數,是需要學習出來的。現在我們來練習用梯度下降找到b和w。


x_data = [338., 333., 328., 207., 226., 25., 179., 60., 208., 606.]
y_data = [640., 633., 619., 393., 428., 27., 193., 66., 226., 1591.]
x_d = np.asarray(x_data)
y_d = np.asarray(y_data)


先給b和w一個初始值,計算出b和w的偏微分

# linear regression
b = -120
w = -4
lr = 0.0000001
iteration = 100000

b_history = [b]
w_history = [w]

import time
start = time.time()
for i in range(iteration):
    b_grad=0.0
    w_grad=0.0
    for n in range(len(x_data))
        b_grad=b_grad-2.0*(y_data[n]-n-w*x_data[n])*1.0
         w_grad= w_grad-2.0*(y_data[n]-n-w*x_data[n])*x_data[n]

    # update param
    b -= lr * b_grad
    w -= lr * w_grad

    b_history.append(b)
    w_history.append(w)


# plot the figure
plt.subplot(121)
C = plt.contourf(x, y, Z, 50, alpha=0.5, cmap=plt.get_cmap('jet'))  # 填充等高線
# plt.clabel(C, inline=True, fontsize=5)
plt.plot([-188.4], [2.67], 'x', ms=12, mew=3, color="orange")
plt.plot(b_history, w_history, 'o-', ms=3, lw=1.5, color='black')
plt.xlim(-200-100)
plt.ylim(-55)
plt.xlabel(r'$b$')
plt.ylabel(r'$w$')
plt.title("線性迴歸")

plt.subplot(122)
loss = np.asarray(loss_history[2:iteration])
plt.plot(np.arange(2, iteration), loss)
plt.title("損失")
plt.xlabel('step')
plt.ylabel('loss')
plt.show()



輸出結果如圖



最後還有作業,講解包含作業描述、任務要求、任務實現



除了內容豐富充實之外,創建者還專門整理了一個在線閲讀的網站,在線閲讀十分方便


地址:https://datawhalechina.github.io/leeml-notes


李宏毅視頻教程在線觀看地址:https://www.bilibili.com/video/av59538266



●編號875,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

開源最前線

已同步到看一看
在看



熱點新聞