摘自keras中文文档:
http://keras-cn.readthedocs.io/en/latest/for_beginners/concepts/#_5
对新手友好的小说明
虽然这不是我们应该做的工作,但为了体现本教程对新手的友好,我们在这里简单列一下使用keras需要的先行知识。稍有经验的研究者或开发者请忽略本节,对于新手,我们建议在开始之前,确保你了解下面提到的术语的基本概念。如果你确实对某项内容不了解,请首先查阅相关资料,以免在未来使用中带来困惑。
学习教程:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681965108490cb4c13182e472f8d87830f13be6e88000
关于Python
- 显然你应对Python有一定的熟悉,包括其基本语法,数据类型,语言特点等,如果你还不能使用Python进行程序设计,或不能避免Python中常见的一些小陷阱,或许你应该先去找个教程补充一下。
- 你应该有面向对象的概念,知道类、对象、封装、多态、继承、作用域等术语的含义。
- 你应该对Python的科学计算包和深度学习包有一定了解,这些包包含但不限于numpy, scipy, scikit-learn, pandas…
- 特别地,你需要了解什么是生成器函数(generator),以及如何编写生成器函数。什么是匿名函数(lambda)
关于深度学习
由于Keras是为深度学习设计的工具,我们这里只列举深度学习中的一些基本概念。请确保你对下面的概念有一定理解。
- 有监督学习,无监督学习,分类,聚类,回归
- 神经元模型,多层感知器,BP算法
- 目标函数(损失函数),激活函数,梯度下降法
- 全连接网络、卷积神经网络、递归神经网络
- 训练集,测试集,交叉验证,欠拟合,过拟合
- 数据规范化
个人见解:
就本人而言,对于这些概念理解得只是浅显,但这并不妨碍我学习keras
Python
- Python的基础语法,入门非常简单,基本上能够去网上刷编程题就差不多了.推荐pat,可以刷Python3.6
- 类、对象、封装、多态、继承、作用域,学过Python,java或者c++其中一门语言理解这个应该很轻松吧.
- 科学计算包和深度学习包,这个我还真没了解过,一边学习keras一边了解吧
- 生成器函数:g = (x * x for x in range(10)),迭代一个数生成一个数,节约大量空间; 匿名函数: Java里经常用的是匿名内部类,Python用的是匿名函数,理解lambda的同学,对这个应该很熟悉: f = lambda x:x**2
深度学习
1.有无监督学习:
http://www.mamicode.com/info-detail-864748.html
1). 有监督学习:分类和回归
2). 无监督学习:http://blog.csdn.net/american199062/article/details/51475006
3). 分类: http://blog.csdn.net/chl033/article/details/5204220
4). 回归: http://blog.csdn.net/viewcode/article/details/8794401
3.目标函数(损失函数): http://blog.csdn.net/google19890102/article/details/50522945
激活函数:http://blog.csdn.net/losteng/article/details/50833861
梯度下降法:http://m.blog.csdn.net/yhao2014/article/details/51554910
4.全连接网络、卷积神经网络、递归神经网络:
https://www.zhihu.com/question/34681168
5.训练集,测试集,交叉验证,欠拟合,过拟合
http://blog.csdn.net/er8cjiang/article/details/50981426
http://www.cnblogs.com/lanying/p/4035092.html
6.数据规范化:
http://blog.csdn.net/meoop/article/details/40931731