算法—概述&理解

来源:互联网 发布:apache ant 1.9.6安装 编辑:程序博客网 时间:2024/06/14 07:26

  关于算法,包括我相信很多一开始学习的新手(包括Leo)。都不知道从哪里开始下手,甚至于说,算法的概念都很模糊。我写着一篇博客,想从我接受算法的过程一点一点阐述我对这东西的理解。最后再给出一点我看别人的观点和官方的解释,希望通过分享我的历程来给以后学习这一块的人们一点铺垫,大家且看且指正,THX~

 

  最开始接触算法,我想我是在高中数学,有一学期的必修课我们学的是流程框图这一块(后来在大学就是NS图),在当时印象比较深刻的是高中老师讲的求解最大公约数的辗转相除法。感觉这一种方法不需要特别的思考,按照它上面说的一步一步做就好了。所以,那时候对算法这东西的第一印象是:死板,计算慢,但是有逻辑,按照上面所讲所做总能达到结果。

 

  第二个时期,接触到的算法是大学前两年级。当时所学与算法有关系的课程有《数据结构》和《无线传感网络》。当时的在课上听老师说了一些关于图的DFS&BFS,还有无线传感网络老师各个层次的各个协议和有关的路由算法之类的。当时编码能力很渣,听完了理论浅尝辄止,没有继续在编码上面进行探究。所以当时的感觉:算法理论上很简单,实践起来可能会有难度,但是难度不来源于算法本身。

 

  第三个时期,大体上到了大学三年级以后,上的课有了自己的选择。我的专业是IOT,也就是传说中的物联网工程,因为这个行业不成熟,学校也是摸索着对我们教学,到了大三索性放开了限制,这个专业的学生可以按照自己的意愿选修计算机系的课程或者电子通信类的课程。我借此机会学到了一点计算机的操作系统,网络之类的课程,在此期间,印象深刻的是抱同学大腿参加了一期MCM,和一次阿里巴巴的大数据比赛。这两场比赛对于我意义重大。MCM中我们用的AHP(层次分析),回归和BP网络,我第一次知道原来算法这东西需要用到之前学的线性代数&高等数学&概率统计这些课程。阿里巴巴数据比赛用的是协同过滤和随机森林,知道了算法这东西成体系,也很有深度,也为之后实习阶段做了铺垫。

 

  第四个时期,大体我到了实习的阶段。在那里做的工作大体上是数据挖掘,那里算是入门了吧。得益于我在那里前辈们的指点还有几本值得一读的书和CSDN上面的博客。那时候主要用了逻辑回归,决策树,GBDT,向量机等,当然还涉及了一些克莱门特,liblinear之类的挖掘软件和包。收益匪浅的同时,我也渐渐了解到算法的定义:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。(from 百度)

 

  恩恩~今天就先写到这吧。算是一个心路历程,从下一篇开始,我将沿着《统计学习方法》这一本神书的脉络,梳理一下这方面的基本脉络和理解。

0 0
原创粉丝点击