我的读书小记(1)

目录

 

前言(废话

规划

已经看完

Blue1Brown的线性代数的本质

《程序员的数学——线性代数》

凸优化总述

正在看

《深度学习算法原理与编程实战Tensorflow》

看过一些不准备继续看

斯坦福课程:强化学习(2019) by Emma Brunskill

stanford凸优化 

《深入浅出强化学习原理》

准备看

David Silver深度强化算法学习 +项目讲解


前言(废话

看完了《算法笔记》动态规划那一章,让我见识到了动态规划神来一笔般解决优化问题的力能,当然可以用动态规划的题目必须满足最优子结构以及重叠子问题,没有重叠子问题那么就是分治了。

当然我不打算写动态规划,因为只是看完了《算法笔记》,没有题目的训练,还不能说明白动态规划怎么写程序,如果是机考的话,一般做出水题就可以了(黑哥告诉我的,当然我现在也没有需求做那么好)。


下面我记录一下自己看过的东西,说说我看完或者没看完的想法了。

我知道看英文一开始的时候会很难受,怀疑自己不懂,但是我觉得我必须要从教材开始看英文,养成习惯。

英语教材的用处很大。

规划

  1. 机器学习的数学——矩阵分析(附学习资料)
  2. 李宏毅《机器学习》 附件:《南瓜书》:周志华《机器学习》的推导和解析
  3. 邱锡鹏教授新书《神经网络与深度学习》

  4. 无痛的机器学习

  5. 优达学院《深度学习工具 TensorFlow 入门》
  6. PyTorch速成教程(by Sung Kim)(英语)
  7. 李宏毅深度强化学习(国语)课程(2018)
  8. 视觉SLAM

强化学习部分

http://www.imooc.com/wenda/detail/564831

https://zhuanlan.zhihu.com/p/34918639

https://zhuanlan.zhihu.com/p/34918639

https://www.leiphone.com/news/201705/NlTc7oObBqh116Z5.html

天津大肉包的逼乎

 

正在看

UC Berkeley(加利福尼亚大学伯克利分校) CS 294-112 《深度强化学习课程》

2018秋季CS294-112深度强化学习 

 

已经看完

Blue1Brown的线性代数的本质

一共十一讲。作者很厉害,把线代的基础部分的本质说的很清楚,把矩阵是一种线性变换、行列式是变换前后面积变化的比例、特征值和特征向量是变化前后保持方向不变的向量以及其长度变化大小、向量空间说明的很清楚。

《程序员的数学——线性代数》

建议看完Blue1Brown的线代的本质之后在看这里的第一章,就会十分的清楚每一个概念。1-3章毕,前面讲了向量、矩阵、行列式、秩、逆、线性方程组相关问题以及LU分解,第四章对离散以及连续系统的失控情况通过系统矩阵的对角线矩阵的特征值来判断、如果系统矩阵不是对角矩阵则通过又乘P左乘P^-1(P是系统矩阵A的特征向量构成的矩阵)进行对角化、如果对角化不了则可以化为jordan标准型(对角矩阵是特殊的jordan标准型),这样便可以完成对所有的系统的收敛性进行判断了,同时jordan标准型也让很多问题可以很好的解决(与变换基底后还原的想法相同)。第五章是计算机的矩阵计算,数值分析内容,设计jocobi方法、幂法原理、QR方法等。

总的来说是一个既有深度,又看起来十分形象的书(除了书中的小注释或者?部分,真的没办法看,比较深奥)

二次补充:我经常看到二次型这个概念,虽然知道二次型变量出现两次,可以表示二次多元方程组,但是其他的就不懂了。程序员的数学中没有这部分。

凸优化总述

这里stanford的凸优化备受好评,但是我感觉看英文还是不太习惯,不过要养成习惯,之后吃饭可以看美剧来加强听力。不过如果不想花太多时间,凸优化总述是个很好的中文介绍,其中涉及到的半正定矩阵的概念在这里有一个不错的解释,真的强烈推荐。

拉格朗日对偶的目标之一就是求得带约束凸优化问题的最优值。

值得多看几遍(因为感觉还没有看透,小声bb)

看完了,在最后的KKT条件解释的很清楚,在数学原理上说的很明白了,现在可以看SVM了以及最优控制了(如果学经典RL模型的话)

SLAM十四讲

这本书中虽然说东西是比较基础的,但是我看的时候还是省略了很多数学上的推导,只是大概的明白结论,以及代码也并没有都清楚,跑了一半的demo就没了,可以再读一遍。

不过东西的确没有想象的那么难,李代数还有线代的知识好好学,估计推导就不愁了,以及C++需要深入了解。(PS:要好好学矩阵论)

看过一些不准备继续看

斯坦福课程:强化学习(2019) by Emma Brunskill

看了第一集的16分钟,这里是这门课的需要

老师讲的是真的很好,很不错,但是我觉得不太适合我,我现在边看边听,理解起来话的时间就很多了,所以我觉得我还是应该在看完国内的教程之后再去看国外的。而且这本科其实还需要把一些DL的东西过一遍,我其实LSTM那些都没有搞得很明白。(虽然说现在看视频还没有需要用到那些,知识简要的提一下)并且我看到很多地方都说David Silver的课会比较好,而且我看到有翻译,所以我觉得还是等熟悉RL,熟悉了英语授课后再看stanford会比较好

stanford凸优化 

看英文还是不太习惯

《深入浅出强化学习原理》

这本书并不是写的很好个人感觉,很随性,而且没有考虑到受众基础,也许作者懂了,但是没有说明白。特别是里面算法的伪代码,感觉像是从某个不知名博主那里截图来的,而且没有整理。

看完程序员的线代第一章又看了一下,发现前面基于最开始的最优控制的策略估计算法是需要凸优化基础来进行最优控制的,比如mpc,变分法等,后来我在想好多地方与经典的理论学习相关的时候,凸优化的重要性真的挺重要的,可以看凸优化总述,但是我发现这本书其实真的写的不太好,我下面列出这本书介绍的RL中的算法,以便之后自主学习。

算法:强化学习的本质是序贯决策问题,我们为了简化问题解决的模型,把问题抽象成MDP(S,A,P,R,γ),根据PRγ是否已知可以分为基于模型的动态规划方法和无模型的强化学习方法。基于模型,我们可以推导出最优状态值函数和最优状态行为值函数的贝尔曼最优方程,这是一个自举方程(也就是说要知道这一状态的值函数我们需要知道下一个状态的值函数),动态规划可以直接利用模型参数通过高斯赛德尔迭代 将 求解值函数转为求解关于不同值函数的线性方程组,来得到状态值函数和状态行为值函数,从而进行策略改善。

无模型算法:基于蒙特卡洛方法的强化学习(涉及重要性采样、MCMC方法、拒绝采样等概率论知识,来估计值函数)和 时间差分方法的强化学习(Temporal-Difference,简称TD,MC方法是不断产生序列通过完整的序列来估计值函数,但是TD方法类似boosstrapping自举算法,其对值函数的跟新是通过下一个状态的值函数来估计当前值函数,称之TD目标,TD目标和当前值函数的差称为TD偏差,TD方法和动态规划方法的差别就是动态规划方法通过模型计算后继状态,TD利用试验得到后续状态)TD方法包括同策略on-police的Sarsa和off-police异策略的Q-learning,TD还有变种TD(λ)方法(一种增量式的跟新值函数方法)

基于值函数逼近的强化学习方法:在状态空间和动作空间无限大的情况下,用函数逼近值函数,可以分为参数化逼近和非参数化逼近(基于核函数的函数逼进【有点明白为什么说SVM可以到无穷维了,因为核函数可以看成向量空间的基地,当数据无穷多的时候,基地就会无穷多,函数就会有无穷的表现力,但是还是需要好好研究,温故知新】、基于高斯过程的函数逼近),此时值函数的更新变成监督学习过程。

DQN:基于Qlearning创新一下三点

  1. 经验回放训练强化学习的学习过程
  2. 利用深度卷积神经网络逼近值函数
  3. 以及设立单独的目标网络来处理TD算法中的TD偏差

具体的含需要自己去研究

基于直接策略搜索的强化学习方法:基于策略梯度的强化学习方法、TRPO方法、确定性策略搜索方法、GPS方法、逆向强化学习方法

组合策略梯度和值函数方法的强化学习、值迭代网络、基于模型的强化学习方法:PILCO及其扩展

代码库:https://github.com/zhuliquan/reinforcement_learning_basic_book

《深度学习算法原理与编程实战Tensorflow》

十分适合基础入门,动手实现。我觉得入门可以看这本书,以及有一些函数要查的时候也可以,当然查文档更好。现在看到第六章,其实之前貌似看过,不过没有看到最后,LSTM以及RNN那一块,可以刷完,比起RL难度低很多。当然其实这本书最重要的就是编程实战,需要动手实践一下。

 

准备看

David Silver深度强化算法学习 +项目讲解

周志华的机器学习 附件:《南瓜书》:周志华《机器学习》的推导和解析

南瓜书真的很不错,看不懂的时候必看

课后答案:https://blog.csdn.net/weixin_38246633/article/details/89366685

https://www.jianshu.com/p/abdc7386645e

历年卷:https://zhuanlan.zhihu.com/p/58434325

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值