思维导图到深度学习
1、思维导图作用
把复杂问题简单化;高维度的问题降维转化成多个小问题(主成分提取),每个小问题通过多步骤解决。
2、学习和记忆
知识:从实际多种情况中,提取出的知识要点(例如,把一本厚书读薄)。在机器学习中,就是从大量训练样本中获取有用的信息(聚类分析)。
记忆:小学简单学习主要依靠记忆(九九乘法表);记忆的局限性:以后的记忆的东西太多;不可能把某方面的内容全部记住(很难全面掌握)
3、学习过程
问题是什么?答案是什么?(明确建模的问题)=> 用例子构建知识(通过训练样本构建模型) => 最终需要把问题理清楚,通过举一反三才能真正理解知识点(用已有模型验证未知的知识)
4、学习英语
对于机械性学习(游泳、乐器等需要肌肉的学习,需要大量重复正确练习多次)例如保证正确的口型练习呼吸3000次。
对于英语和语文知识:记单词仅仅记住的中文意思,但是不清楚具体的应用。最好应该记忆句子记忆短文(百词斩的图片化碎片化记单词,实际单词使用效果没有很好)。
5、实际中,如果无法直接解决一个问题,可以分成很多小问题逐步解决。因为人脑的知识容量有限,如果直接把全部知识都记住,空间复杂度是指数级别;如果转化成多个小问题,就会变成线性级别(n)。例子:魔方复原方法很多种:如果直接使用40步公式,那么需要处理的情况太多了。如果使用一层一层处理数据,那么每一层的方法可以大大降低维度。例子2:编程,如果一个复杂的问题直接解决很难,可以逐步解决小问题(如果一个问题很难,人脑会直接搜索直接解决问题的思路,所以就陷入死循环;如果转化成多个小问题逐步解决,那么一个大问题就迎刃而解)。
代码模块化,不同模块之间高内聚低耦合;思维导图中,把一个复杂问题拆分成多个小问题,不同小问题也类似于模块,高内聚低耦合;小问题可以复用,这样复杂度就变成 logn 二分法的复杂度。
学习原则:
- 明确问题的输入输出(条件是什么,问题是什么)
- 将复杂的案例抽象总结出简单的知识
- 将简答的知识应用解决新的问题(更多的问题)
- 将复杂的知识降维,模块化简单化处理问题
如果处理的信息是很难压缩的信息,或者全部是细节,使用思维导图就不是很使用。如果处理的信息降维不明显,平行结构更明显,例如CSS部分,使用思维导图的性能不高。
6、费曼学习:学习+解释
使用思维导图仅仅把知识网络化,并没有实际处理问题;使用解释(给别人讲解),自己需要使用已有知识解决新的问题;
好奇心对于知识的促进,对于学习的促进;欲望和好奇心可以促进学习(看到一个游戏,想要自己去做出来这个游戏)
好奇心的限制因素:已有的知识会对新知识的学习产生影响(例如,学会了ES3的构造函数,接触ES6的类就会使用ES3的思维方式学习,这样可能走入误区)。我们在接触一个新知识点时,不确定这个知识点和已有的知识点是否适应相同的学习方法,但是旧的学习方法不一定适合新的知识模型。这也是机器学习中可能的误区。
固执:面对新知识不愿意学习;或者认为新知识和旧知识是相同的,不需要认真学习。这样会造成知识落伍,