今天终于结束了吴恩达老师在coursera上的机器学习课程,当然也只是在bilibili看完了翻版的视频,不过因为看的比较细致,大概也学习了三个月左右的时间,从研究生入学就一直在看这套视频,所以大部分知识点消化的还是比较可以的,应该只有一小部分内容需要返工再看一下,但是课后的习题基本上没有完成,这个看时间吧,如果时间还充足,还是有必要把所有的题目用python实现一遍,毕竟有人已经完成了,实在做不出来的题目可以借鉴一下别人的思路。现在时间也花上了,我就想必须要掌握好它,不能说还没几天就忘干净了,所以说后续我想再根据黄海广博士的笔记总结一下自己的一些想法和认识,现在重要的就是现在把这个基础先打牢固,为后续学习深度学习的理论知识做好充分的准备,不过因为可能课程是面向大众的,有一些算法的数学层面知识没有讲的特别完整,或者说自己没听太懂,像神经网络和支持向量机,还有一些算法,吴恩达教授并没有讲到,像决策树、随机森林、还有EM算法、隐马尔科模型这些也比较常见的机器学习算法,因为毕竟面向大众,通俗易懂才是这个课的有肥死你,不可能面面俱到,斯坦福大学的cs229可能讲的相对全面,但是也确实没有时间再去看一遍了,所以后续除了想把课后题做完,补充完整知识导图和笔记之外,再去看一下浙大胡浩基老师的机器学习课程,之前看过一点,讲的比较深入,尤其是一些数学公式的推导,这套视频不想全部看了,重点就放在神经网络与SVM上,因为神经网络毕竟是后续深度学习的基础,所以应该把数学基础打牢固,而SVM在小数据量问题的场景依然用的上,也值得再去好好深入钻研一下,然后再结合李航博士的《统计学习方法》和周志华老师的西瓜书,把一些常用的机器学习算法都能有一个大概的了解,说不定哪一天就能用的上,或者可以吸取这些算法里面的一些思想,最后再去看一下python实现的代码,巩固一下对算法思想的理解。以上工作做完之后,可能寒假就已经快结束了,所以深度学习的学习也必须要提上日程,毕竟最后不管是CV方向还是NLP,又或者是两者的结合都要用深度学习对数据集上的数据进行训练,理论知识要有,但是也不能缺少实验,深度学习理论知识的学习还是打算看吴恩达教授的,B站也有相关的视频,看了下目录,发现前三周的课程是关于机器学习,到时候如果机器学习的知识学得差不多了就可以直接大略的看这部分,或者直接从第四周开始学习就可以,除此之外还学要在代码层面下点功夫,也就是要学习一个python的机器学习库,TensorFlow和PyTorch得选一个吧,然后在这个基础上扩展自己的方向和思维。

其实学了机器学习之后我才发现,人不管是学习还是生活和机器学习算法是有相似之处的,我们会不停的遇到问题,不管是小的烦恼还是大的挫折,当自己按照当前的人生经验模型处理这些问题后,它出现的结果多多少少会和我们的预期有一个误差,我们后续首先要对这个误差进行一个深刻的认识,我的理解这就是建立代价函数的过程,然后根据这个误差去不断调整人生经验模型上的参数,这就是在进行梯度下降,在优化我们的人生模型,以此来拟合我们想要的生活,但是大部分人都不能对这个误差进行一个认识,也就是说你连代价函数都建立不起来,那怎么可能去进行梯度下降来优化自己的参数呢,代价函数的建立就是自己的不断思考总结碰壁认识现实的自我和想成为的自我差距的过程,而提高构建代价函数质量的方法就是看书学习,提高自己的认知,这也是最快捷的一个方法。同样的,学习也是这样的道理,学习应该是一个学,然后出错,也就是出现对知识点理解的误差,之后认识自己的错误,最后纠错,之后在此基础上再学习,然后再暴露自己的弱点,而不断的进行梯度下降的过程,直到完全理解或者掌握这个知识,而不是看完一本书或者一个知识点之后就扔在一边,这并没有自我暴露和自我反馈的过程,这样就没办法更新我们自身“神经网络”的“权值”,也不能更好的去拟合和泛化这些知识模型,就导致直接看原书本上的知识觉得so easy,但是让你去“验证集”上考个试或者去实践一下就拉胯了,所以说学习一定要暴露自己的弱点,然后修补弱点,最后理解知识,并且能用自己的话来“拟合”出来,这也就是为什么费曼学习法是一种高效的学习方法,在对别人讲授的过程就是暴露自己问题的过程,叙述的时候卡壳了就重新梳理知识,进行纠错或者巩固。说这么多还是想让自己能保持一个学习的动力,多读书,多涉猎一些知识,能用更加广阔的视角看待这个世界,认知提高了,决策错误就会相对减少,误差函数构建的好,梯度下降只是一个在正确方向上努力的过程。

最后编辑:2021年02月04日 ©著作权归作者所有

评论已关闭