除了课本上的知识之外,我学了很多开发的知识。
因为研究的过程中,我们会实现各种各样功能的程序,比如B样条曲线什么的。但是如果仅仅局限于Demo的命令行程序,这样非常不便于后来的使用。
我想把这些功能包装成简单的GUI界面,这样无论是我们程序员还是普通人都可以使用我们开发出来的工具,高效地完成任务。
技术运用的实践中去,我们做的研究才真正有意义。
数据挖掘经历
中南大学信息院王建新院长大数据课题组
- 参与校园大数据课题,通过校园一卡通数据分析学生群体关系和生活习惯
- 参与源代码挖掘课题,研究开源代码编程模式以培养学生编程能力
- 参与地铁大数据课题,基于地铁公共设施打造“众包”新型城际运输系统
3个课题分别对应我的3个学期
大二上,校园大数据课题
主要是校园卡数据。那时我刚刚进入实验室,一边读相关领域的论文,一边给师姐打下手。处于数据挖掘启蒙阶段。
在这期间,我了解了数据分析的一般过程。
- 首先要获取数据,实验室的研究采用了学生校园卡的数据,涵盖了食堂吃饭,超市购物,图书馆借书等可以表现学生生活习惯的数据信息;
- 拿到数据之后,数据首先要预处理剔除高偏差的数据或者错误的数据然后再用于分析;
- 在分析学生群体关系的时候,通过学生校园卡数据将人群分类,采用聚类将学生分类;
- 一般的数据集分类会设置验证集,以比较模型的准确度,但是学生的数据涉及个人隐私,所以原始数据没有标签,这个时候验证数据就要基于线下的实地考察,比如在验证学生关系的时候,师姐用了我们班的学生数据,然后通过我对班上同学的了解验证模型。
鲁鸣鸣,张丹,王建新,基于校园一卡通数据好友发现及应用《大数据》期刊
大二下,源代码挖掘课题
这个课题起源于鲁老师一个类比的想法,“春雨医生”这种专家系统类型的APP可以帮助病人自助地知道自己患了什么疾病,与此同时,如果将用户群体改为见习医生,这个APP可以起到锻炼医生的作用。
而开源事业的蓬勃发展让网络上积累了大量的源代码数据,如果能将这些开源的代码转化为知识库,将一个个大的项目拆解成层级的小项目和小项目下的原子知识库,这样在学生学习一些小的知识点后,可以从网上开源库挖掘合适的项目给学生锻炼,达到能力的逐级上升。
这个课题当时是我一个人做的,鲁老师希望我可以发一篇教改论文,但是后来由于工作量大,知识储备不过,没有做完。不过也有收获。
当时我想通过两本书来搭建Android项目的功能原子库
- 《第一行代码》对应基本功能
- 《编程全面指南》对应项目
通过这些搭建一个基于原子功能的项目推荐模型,然后将它推广到网络上的开源代码库。
原子功能对应函数,函数内部形成类和方法的调用拓扑图,然后分析。
如果结合现在的思路,将代码作为自然语言处理,可能会有更好的解决办法。
大三上,地铁大数据课题
通过地铁帮助城际包裹运输,因为目前很多二线城市地铁还有空闲的运输能力。
地铁准时,高效,不会拥堵等优点
开发了手机端的类似“人人快递”应用,师兄发了论文
深度学习经历
- 自学 Tensorflow
- 选修了《机器学习》,并用matlab完成了垃圾邮件分类的实验,基于斯坦福大学源码
- 学习台大李宏毅老师的深度学习课程
- 读领域论文,知道了很过网络的名字,不过不太懂
- Prisma 模拟
图像视觉经历
- 自学 OpenCV
- 选修了《数字图像处理》《计算机图形学》
- 开发基于 Android + OpenCV + CNN 的植物识别应用
开发经历
- SaferBar,Shamir 门限方案,将条码信息分成子码,Lagrange 内插法恢复原码
- Android/iOS 开发经验,开发过天气、指南针、计算器、二维码扫器等应用
- Web 开发经验,网页版数据库管理系统(Python+Django+Sqlite)、个人博客等
苹果实验室经历
感受:
- 只有综合大家的能力,才能做好事情
- 作为负责人,要以身作则,甘于奉献,多为其他同学考虑
- 另外,也不能事事亲为,大事小事全自己来做,要善于将事情分给手下的同学来做,这样不仅能锻炼他们,而且能让社团更协调,分工明确,效率更高
- 作为负责人,要善于表达,一定要有自信,建立自己的威严,不然成员会对你失去信心,社团就没有向心力
图灵班班长经历
感受:
- 班长要乐观,善于组织活动,善于调动大家的积极性,能鼓舞大家
- 班长要能团结班委,发挥所长,提高班级整体的凝聚力和战斗力
- 班长要有大局意识,评奖评优的时候先考虑同学们
- 班长要做好老师和同学之间的桥梁,做好两个人群之间的沟通