andrew ng 机器学习笔记_李宏毅机器学习完整笔记 —— 这可能是Github上最好的机器学习资源...

来自:开源最前线(ID:OpenSourceTop)

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

李宏毅老师的机器学习视频是机器学习领域经典的中文视频之一,也被称为中文世界中最好的机器学习视频。李老师以幽默风趣的上课风格让很多晦涩难懂的机器学习理论变得轻松易懂,并且老师会通过很多有趣的例子结合机器学习理论在课堂上展现出来,并且逐步推导深奥的理论知识。比如老师会经常用宝可梦来结合很多机器学习算法。对于想入门机器学习又想看中文讲解的人来说绝对是非常推荐的。

a9fa50799b95bc1b4e3014d4a3f98078.png

前不久,Github上出现了一个叫 leeml-notes 的开源项目,完整梳理了李宏毅机器学习视频课程笔记,可以作为视频学习的一个辅助资料,因为它不仅完全复刻李老师课堂上讲的所有内容,还加入了一些和相关的学习补充资料和参考资料,结合这些资料一起学习,相信你会对机器学习有更加深刻的理解。

359706e9bbcb77b8331e636ab39110b4.png

这份项目由8位成员整理创建,目前已经在Github上获得 2849 个Star, 780 个Fork,提交了 360 个commits(Github地址: https://github.com/datawhalechina/leeml-notes ) 笔记完整的目录如下:

2e55b08c6c49b8d8f008a916255502a3.png

下面一起来看看笔记里面有什么精华内容: 机器学习介绍

3c2366f0f51866bc348b1f6ab3bebb8f.png

图文并茂解释每个知识点,上图解释了什么是机器学习。 回归演示 丰富的代码示例,下面以回归演示为例: 现在假设有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(1, 2, 1)
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(-5, 5)
plt.xlabel(r'$b$')
plt.ylabel(r'$w$')
plt.title("线性回归")

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

输出结果如图

c02f79cbb7d1aa659bc2cc895a3a4067.png

最后还有作业,讲解包含作业描述、任务要求、任务实现

02b2fb950768ea1c49e448e092c4155e.png

除了内容丰富充实之外,创建者还专门整理了一个在线阅读的网站,在线阅读十分方便

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

李宏毅视频教程在线观看地址:https://www.bilibili.com/video/av59538266


●编号3979,输入编号直达本文

●输入m获取文章目录

推荐↓↓↓

41a55ab2c34a2fab5a304786ebf46db8.png

开源最前线

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值