当前位置:   article > 正文

大二上学期(回顾与展望)_大二开学展望

大二开学展望

大二上学期(回顾与展望)————写在大二下学期开学的前一天

想起去年此时,壮志满满,感觉自己可以一天工作25小时保持高效,做事从不拖拉,然而现在却非常墨迹,寒假开始要完成的事拖到现在,或许明年也不会再写了吧。

去年这个时候,我说我想学算法(刷ACM)和做项目(学MFC)。虽然现在看当时的想法很native,但是也是有一定道理的。

  • 算法:代表了学术方向
  • 项目:代表了工程方向

这两个方向可以说是所有计算机类专业学生的共同方向,学术工程,虽然听说大多数人以后都是走工程道路。这两个方面相辅相成,搞学术需要工程师来实现想法,工程需要学术的产出作为理论基础。

当然不是说学术方向都是算法,也不是说工程方向只是做项目。都有夹杂着的。

1. 回顾:

  • 算法:
    程序设计竞赛中比较有名的就是ACM了,虽然ACM的题目大多都是求精确解,属于第一代算法(基础算法)的应用,对于解决现实问题没有太大的实际意义,但是对脑力的锻炼和对解决问题的培养个人看来帮助还是非常大的。但是对于ACM,目前连省赛的奖都拿不了,连省赛三等奖都没拿过。可见其实这方面我也不是特别强。
    不说ACM,说其他的像机器学习算法(贴近于现实应用的)。但是这些算法学习效果又没有比较权威的检测标准。而且这些算法用到了许多书本没教的高等数学和概率论知识,好吧我去自学。
    这里就要说一下去年参加过的一个校级的数据发现大赛的,我会调用python的机器学习API,用SVM去预测银行数据,我一看数据,标准17列,没有空的出来,抑郁读取,只有2种情况预测,好简单二分问题,数据量化直接跑,然后准确率还90多,感觉自己好厉害。然后看了一下数据,发现数据有严重的样本数量不平衡现象。好我砍掉一些样本再训练,搞完提交,准确率不像我预想的那样。再观察一下,虽然没有空格,但是人家空缺值用Unkown填充,而且有一列unkonw占比例非常大。后续….
    总之这里要说的是,由于机器学习算法已经很成熟了,并且由许多优秀的库来给你使用,因此就是你不深知底层原理,你还是可以做出结果出来,而且所使用的算法一般都不是决定效果的因素。决定效果的因素大多是你输入向量(特征值对实际要预测的数据的表达效果如何)也就是特征工程其实在整个机器学习的过程中是非常重要的。虽然目前出现了深度学习技术,号称只要神经网络够复杂,只要数据量够大,数据的预处理变得不那么重要,因为它在训练过程会逐层分解你的数据。想那个建了几百层神经网络然后训练识别猫的图片,用了一个超算中心。但是这种基于连接主义的算法本来就是黑匣子,目前学术界也没有给出为何可以取得如此好的效果的理论解释。因此目前来说,数据预处理还是很重要的。但是我的状况呢,对机器学习算法的理解停留在只能给门外汉吹水的水平,对数据预处理几乎没有什么擅长的,cv领域就只会一个二值化+压缩一下,就丢给算法训练了,而且是丢像素,什么haar特征,Hog特征都没怎么试过。NLP没接触过。常规数据,想银行数据之类的只会标准化一下,然后就直接丢了。反正就是很水。
  • 工程:
    虽然做了一个所谓大创项目,但是我就是调用一下微软API,再调用一个脑电的API,然后组装起来,然后用opencv掉一下摄像头,做一下效果。而且写出来难以维护,高耦合,低内聚。
    那种几万行代码的项目都没怎么接触过,什么设计模式,框架也只停留在听过的水平。工程能力也是水。

2. 展望:

  • 学术:
    ACM有空可以刷一下,不能太沉迷。
    做研究的话主攻方向可以人工智能方向(但是这个还是太宽泛,但是太清晰我也说不出来,比如说像在机器视觉,或者自然语言处理,还是大数据分析等具体领域应用),目前是计划先搞机器学习算法,然后搞几个数据挖掘比赛,学一下如何处理数据。
    但是这有个问题,学机器学习算法见效非常慢,然后我又是一个非常功利的人(我想搞机器学习是因为听说薪酬高,而且现在是移动互联网下半场,它的浪潮过去下一个时代就是人工智能时代拉。如果搞web开发的薪酬能高于数据工程师,计算机视觉开发之类职位,我肯定会毫不犹豫地转web的。)学算法可以看吴恩达在斯坦福的公开课我觉得,不过一集相当长,1个多2个小时。
    为什么说见效慢了,前段时间学的唯一动力是要写论文,我要努力使我的论文没有逻辑错误因此我要去研究算法的内在理论。而实际应用,我一行API就解决的事好吧。
    还有就是数据处理,这个的效果可以在数据挖掘类比赛体现出来,目前就照着《利用python进行数据分析》在学,感觉整本书就是一本工具书。学得很浮躁,翻得极快。

  • 工程:
    工程能力在学校是学不到的,努力找实习吧。

现在也没有什么见效快的学习方法,总结一下接下来个人学习计划:
1.数据分析方法。结合《利用python进行数据分析》
2.机器学习算法。斯坦福公开课,周志华《机器学习》
3.有空可以刷一刷ACM题,不可沉迷。

这学期计算机网络,操作系统,数据库就要来了。这种程序员的基础也要好好打。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/626838
推荐阅读
相关标签
  

闽ICP备14008679号