口语部分
-
Make a brief introduction in 1-2 minutes.
Good afternoon, dear teachers. My name is Xie guangwu. I major in mechanical-electronic, I will graduate from HuaQiao University in this coming July. It is my major courses such as Robot Control and Optimization for Mechanical Design that cultivate my ability to think systematically. Meanwhile, I have been persevered on attending the course of Western philosophy. The reading of philosophical book has not only raised my curiosity about fundamental questions, but also has cultivated my patience and persistence in the face of a particular problem.
Due to keen interest in statistics and Math, I ’ve also learned a lot of courses by myself such as An Introduction to Statistical Learning by Hastie,Tibshirany , Mathematical Modeling by Mark, and The Probabilistic Theory and Mathematical Statistics by Prof. MAO SHISONG, -
Why do you choose postgraduate examination?
Through participating mathematical modeling contest for two times and some competition on Kaggle, l feel confused about the application of some algorithm. When I am confronted to problems such as low accuracy, overfitting, variance-bias balance, I don't know how to solve them.
So l 'd like to go on a postgraduate study,to deepen my understanding of mathematics and statistics, to learn how to adjust or optimize a algorithm for different purpose, rather than just use existing packages simply. -
What is your greatest strength?
Multiple thinking dimension. My major is mechanical-electronic, the thinking way in my major is helpful for data mining. In addition to major courses, I am also interested in philosophy and design, these cross-field learning may make a difference in my future project. -
What's your plan in the following years?
As for the first year, I plan to enhance the fundamental ability in computer science and math.
Firstly, participating more courses than school demands in math, Advanced Algebra of professor Qiu Weisheng and Mathematical Analysis of professor Li Chenzhi. They are basic courses that I really want. I think the two courses could help me to understand algorithm details better.
Secondly, coding practice will be on my daily schedule through kaggle and leetcode. I am attending some excellent courses online, such as data structure by Berkeley university and convex optimization by Stand Ford University. Without strong skills in coding, the Machine learning、Deep learning、Reinforce learning are buzzy world.
As for the following years, I'd like to optimize algorithm during solving a particular project with my future tutor.
My dream job is algorithm engineer. -
Can you introduce your hometown?
I come form GanZhou CITY, JinagXi Province. My hometown is located in a beautiful valley, and it is also a famous red tourism spots. Out country has 54 Generals. So, it produced outstanding people, I'm proud of it. -
XiaMen is a beautiful city, why do you come XiAn?
Thanks for the praise. Xiamen is a livable city, but the XiAn city has more opportunities because of the policy"One belt, One road", and some big company such as HuaWei, JingDong, Aribaba, come to XiAn. So, for individual future, I choose XiAn. -
Can you adapt to the weather ?
Ok, it will have a little impact on my research life from the experience of these days. Meanwhile, my focus is the study, not the weather.
针对简历上的问题汇总
1. 我对你简历上的这段创业经历感兴趣,能简单的介绍下吗?你认为这段经历对研究生有帮助吗?
我先回答后一个问题吧,我认为我在大学的每一段经历对我的研究生生涯都会有帮助,而且没有这些经历,我可能也不会站在这里。
2015年是大学生创业最火的时候,当时许多创业团队有logo和UI设计需求。我会PS设计加上是创业协会会长,便和几个数字媒体专业和设计专业的人一起做了个设计工作室。这段经历影响了我整个大学,一方面是因为在高强度的压力下,很多事情公司运营、设计、客户需求等,都是从零开始起步的,与此同时我还要平衡学业,所以这段时间我的执行力和学习能力得到大幅提升。我必须得把所有事情安排的有条例,然后按照一定的节奏,一点一点的去完成。它给了做事情的一个信心,只要坚持,就一定会有结果,而我后续自学编程、算法,找实习、跨专业考研,都是在这种状态下,一个一个的做到的。另一个方面,是团队协作。完成一个项目,无论个人能力、精力再强,都不可能一个人全部完成。因此,团队的人一定要注重沟通,始终保证在同一个目标下,一起去完成这个项目,这样不仅效率提升,而且从中获得的价值也更高。
我之后连续参加了两次美国建模比赛,也正是因为很享受三个人在一起四天四夜,为解决同意个问题的那个过程。而在建模比赛,团队协作真的非常重要,每个人的分工不同,角色不同。
在研究生生涯中,我想学习能力、抗压能力还有执行力都是非常重要的因素,因为研究生基本上处于一个自我学习的状态,在把基本功弄好后,就是以项目为主导,针对一个项目,迅速规划学习路劲,并开始实行。与此同时,一个实验室里,团队的沟通也很重要,项目的完成肯定不是一个人,比如我代码水平不是特别好,我可以负责把问题梳理清楚,然后整理出算法,让计算机系出身的去跑代码,或者和项目其他成员一起探讨,每个人负责一部分。
2. 你成绩并不是太好,能解释下原因吗?你最喜欢的课程是什么?为什么?
虽然我大学成绩中等,但整个大学期间我一直处于一个学习的状态。因为每一个阶段我都有自己想要做的事,也一直在寻找自己感兴趣的方向和领域。第一个学期,我把精力放在学业上,拿了第四名的成绩,因为我对其他领域没有了解。而自那之后,我也一直开始广泛涉猎其他领域,从文史哲,到设计、编程、数学、建模、数据分析还有创业等,所以虽然我成绩不太理想,但我对问题的看法以及对未来的规划是更加清晰的。
我最喜欢的课程有概率统计、信号分析、Robot control,这三门课。概率统计激发了我对统计的兴趣,促使我耗时两个月,搜查大量资料去了解、分析这门学科。信号分析那神奇的傅里叶变换则激发了我对数学的兴趣。Robot control则是我第一次尝试用Latex写一篇合乎规范的英语论文。
3. 你这篇统计学文章是怎么构思的?你是如何理解无偏性的?
我直接说结论吧,在已知总体均值的情况下,其自由度是n,此时是无偏的;
在总体均值未知的情况下,自由度是n-1,此时无偏‘;
在均方误差也就是机器学习常用到的验证MSE或者测试MSE中,自由度是n+1, 而其中均方误差不等于方差,均方误差包括方差以及系统性的偏差,这就涉及到了非常重要的bias-variance trade-off。
所以说在深入的研究这个自由度时,发现它可以贯穿了统计学的基石和应用。在对比样本与总体间的差异性时费歇尔关于总体无限性的描述,有中心极限定理,有大数定律,然后在应用矩估计得到的自由度,因循环估计和误差累积也导致不可靠。
4. 你参加了两次建模比赛,为什么?从中学到了什么?
建模的收获
大学参加了两次建模比赛,我很享受这个比赛过程。因为团队三个人,闭关四天四夜,分工合作,然后又在同一个节奏上一起去解决一个很大的问题。正是因为这两次建模经历,才促使我做出考研的决定。
完成一场美赛建模的过程,我觉得好比做一个研究的雏形。
首先是文献、数据的搜寻,因为大部分前沿的文献都是英文,所以这步对于英文阅读有很高的要求即要快速或许论文的信息和思路,并初步归类。然后了解一些基本的数据库、SCI、科学上网这些工具。
其次是要快速进入研究状态,因为比赛时间很短,我们基本要在第一天就规划好学习路径,静下心来潜心去研究这个问题。很有可能一些仿真软件要从零开始学,比如17年比赛的时候我们就用了几个小时掌握一个交通仿真软件Vissim, 还有学习元胞自动机模型。
最后是要初步提出解决答案,不能因为卡在一个点上而整个团队止步不前。先提出一个粗糙的模型,解决主要问题。后面再不断的优化、迭代,并做仿真模拟。
另外,整个建模过程最关键的是要始终有着一个北极星的目标。只有时刻记住这个北极星的目标,我们搜寻文献、确定模型、优化才能做到心中有底。而北极星的目标构建又来源你对这个赛题背景的深入理解,要把自变量、因变量这些给定义清楚、分号类。
建模的过程以及相关算法阐述
我们当时是建立一个基于气候变化导致的国家脆弱性模型。第一步先是分析各个可能存在的自变量,以及自变量间的关系。之后是去一个网站找气候变化相关的数据,所获得数据维数有100多维,先把缺失值过多的直接删除,然后再利用PCA的碎石图选择变量,将维数降到40多维。至于缺失值的处理是利用K-均值聚类,先根据数据完整的变量,把观测值分类,针对含缺失值的变量利用该类的均值作填充。对完整的数据利用AHP方法确定权重,把这些维度合并成三个大的指标体系。整理出训练集测试集后,便让队友开始用神经网络模型跑模型、调整参数;然后后面考虑到变量之间的相关性,引入一个交互项,并发现得到进一步优化。根据题目要求需要具体解释原因,后续便用了randomFores模型输出变量的重要性排名。
这个比赛过程中也对算法有了自己的理解。比如神经网络模型对于小的数据集容易过拟合。而随机森林却没有这个问题,它不仅预测性能好,而且基于基尼系数的重要性排名,也能很好的提升其可解释性。所以随机森林相对来说是更为常用的。正是从解决这个问题的时候,也发现深度学习、强化学习不会完全替代机器学习,因为简单的算法如回归、随机森林等有更好的可解释性。(有待完善)
所以针对一个特定的情况、一个特定的应用领域,算法的选择都是不一样的,不存在可以解决一切问题的高级算法。
PCA算法在遇到高维问题时,几乎是一个不可缺少的算法了,在本次建模比赛中,它是用于Unsupervised learning 中。它选择可以解释大部分方差的特征向量来作为主成分,而其中特征值和特征向量是通过雅可比旋转阀得来的。在应用这个算法时,一般是利用方差解释比率的碎石土来选择成分的个数。但由于没有响应变量,所以无法通过验证集MSE去衡量结果,因此无法确定所找到的变量是否是最有价值的模式。当时我们是通过定性分析,结合造成气候变化的原因来做筛选的。
K均值聚类算法步骤:首先是确定K值,K值的选取本质上是一个优化问题,当时用的R语言的Nbclust包实现的,这个包有24个指标来确定K值,支持的指标越多,说明K值越优;还有一种方法是根据类内平方和的elbow(拐点)。
随机划分成K类,然后以该类的均值为中心,离该中心越近则被归为该类,这里的距离一样是用欧式距离定义。欧式距离是绝对距离。迭代停止条件在R中是默认为10次,或者当所有的观测值不再重新分配为止。
优点是算法简单易理解,伸缩性好,适用于大数据。缺点是对异常值非常敏感。当有异常值时可以选用基于中心值的聚类方法。(异常值的查看通过箱线图或者残差图),聚类算法还有系统聚类算法,通过谱系图来剪枝的聚类算法。
5. 你刚刚提到随机森林,它是基于树的决策算法,很容易过拟合,在这个算法中,它是如何解决过拟合问题?
这个涉及到决策树算法中的预剪枝与后剪枝问题
决策树算法生成的树非常详细和庞大,导致训练集拟合的很好,测试集效果却很差,即过拟合,overfiting的问题。
预剪枝方法很简单,就是设定某个阈值使树不再生长,这个阈值可以是纯度,也可以是分类的最小个数等。
后剪枝是在生成的过拟合树上剪枝,常用的算法有三种,错误率降低剪枝(reduce error pruning)、悲观剪枝(pessimistic error pruning)、代价复杂性剪枝(cost complexity pruning)。
REP需要一个测试集,算法以bottom-up的方式遍历所有的子树,直至没有任何子树可以替换使得测试数据集的表现得以改进时,算法就可以终止。
PEP不需要测试集,一般来说是有某个子树的根节点来代替整个子树。它根据被替换子树的错误数减去标准差 与 新子树的错误树进行比较。C4.5比较常用。
CCP用于CART的回归树。
- 目前区块链技术很火,你能给我讲一下区块链技术吗?它能否与大数据技术相结合?你认为区块链技术是否很难掌握?
专业知识面试
-
你从数据挖掘里面学到了什么?你对大数据领域有什么看法?
从我在Kaggle、建模比赛、还有工作经历看,我觉得最重要的是前面几步,尤其是Feature engineering, 这个步骤做好了,可以起到事半功倍的效果。在特征选择中常常发现机器学习往往处于非常shallow的层面,在这个层面机器学习只能看到一些非常表面的现象,特征非常多,数据稀疏的要命,很多算法表现的很糟糕。所以如果能基于问题的理解,去合并变量,或者创造一些变量,将会有很好的提升。第二个是Data processing层面了,这是最繁琐的一步,要找数据、填充缺失值、变量筛选,把数据的训练集和测试集都弄好了,接下来才能去跑算法和模型。
我觉得现在一些主流的算法,包括深度学习这些,都已经相对的成熟了,我们要做的更多是应用,以及如何去调整参数,对算法进行局部的优化。所以我研究生的一个目标就是把convex optimization, numerical analysis这些给学好。 -
你了解的算法有哪些?
算法看了不少,就supervised learning 的来说,分类算法有Logistic regression, LDA,QDA, SVM, 神经网络,朴素贝叶斯,EM等;回归的话从线性回归,然后引入L1正则化的 lasso,引入L2正则化的 ridge 等。
unsupervised learning 的有KNN, PCA,聚类算法注入K-means clustering,Hierachical clustering 等。
(如果要举例的话,则举上文提到的K-means clustering,PCA, randomForest) -
概率论的公理化定义是什么?你如何理解它的意义?
公理化的定义是由伟大的数学家Kolmogrov在1933年提出的,公理化定义的提出,它终结了概率论历史上关于定义的种种分歧,比如主观概率和实体概率,这以公理化体系的提出使得概率论成为科学。
概率论的对象是在可测空间上的一个事件域,关于这个有点复杂,涉及到测度论的知识’;然后三条定理依次是非负性、正则性
可列可加性。
概率论是以概率空间为基础的,在应用于现实问题时,需要考虑若干概率空间,然后决定哪个是最适合实际问题的概率模型。 -
你在使用算法时,会经常遇到调参的问题,你是如何理解这个问题?你打算如何解决这个问题?
大部分时候,调参是靠拍脑袋~~然后结果都差不多能用了。
一些简单的参数的话,就用cross-validation,一般来说R上调个包或者Python上直接grid-search.
当然,我读研的一个很大的目标就是在需要对算法进行调参时,可以系统的分析,而不是靠拍脑袋了;另一个目标是能针对不同的应用场景有能力去优化一个算法。
附录:回顾与总结
整个大学,我做了很多事情,学业、创业、比赛、实习、考研,也涉猎了很多领域文学、历史、哲学、数学、编程,所有的这些经历,都汇聚成一篇一篇的博客,乃至四年结束后,竟也有25W字。这些事情算不上优秀或者说有个很好的结果,但我仍然对我大学几年感到满意。因为每一个阶段我都有自己想要做的事情,然后在这个阶段设定一个目标,朝着这个目标前进。我做的所有事情,每一件事我都认为有其意义,正是因为过去的种种,我才能站在这里,向各位老师介绍自己。
大一
大一上学期的时候,我不明白自己该做什么,所以便把心思放到了学业上,成绩班上第四名。
到了大一下学期,组织我们班同学去一个外来子女的学校去做志愿者,这个活动持续了一年;与此同时也开始接触设计和创业相关的东西。
大二
大二也就是2015年的时候,那是大学生创业最火的时候。我自学了Photoshop然后也是创业协会的会长,许多创业团队有这个UI、LOGO 海报等一系列设计需求,我便与几个数字媒体专业和设计专业的朋友成立了一个设计的工作室。这个工作室只做了一年,但这一年对我而言非常重要。一方面,因为那个时候很多东西都是要从零开始学,包括设计、公司运营、客户需求等等,这一年作为创始人,在这种压力下我的执行力还有学习能力必须得保证。在那么多事情下,还要平衡学业,我必须把所有事情弄得有条理,设定好目标,然后有节奏的、坚持不懈的去处理一个又一个的事情。这对我后来自学建模、编程、统计、算法、考研、找工作,我觉得这些事情的完成便起源于我这段经历。另一方面,就是团队的协作了,完成一个项目,不可能只有一个人去完成的,无论个人能力有多强。所以一定要保证团队的每个人都处于一个同样的节奏、状态下,注重沟通和交流。这样在同一个目标下,然后以相近的节奏一起去协作处理一个问题是最有效率,而且也更加有价值。不断的磨合下,整个团队才能走的更远。这个不仅仅是一个设计方案,我后面参加了两次美赛建模,就是因为我很享受建模的过程,三个人每个人分工不同,而又能够以同样的节奏去解决一个问题。
大三
大三由于接触了一些很有意思的课程,比如信号分析----有个神奇的傅里叶变换;机械优化设计---讲了很多优化算法并对铰链等运动模型分析;还有概率论与数理统计了;电子电工学---讲电路分析。 工作室解散后,我便慢慢的把所有身心放在了学业上。
写统计学论文、完成机器人的课程论文、参加建模比赛。
以小见大之样本方差的无偏性
这篇文章是我大学第一次带着一个特定的问题,自己主动去学习,搜寻大量的学习资料,去梳理逻辑,并表述出来。对于用样本去估计总体这个事情,没有很深刻的感知。正是由于在梳理这个文章的过程才意识到费歇尔提出的关于总体无限性、大数定律、中心定理这些的重要性。无偏性在于方差的自由度,而这个自由度是可以从矩阵的角度去理解的。
在机器学习里的方差又叫Residual sum of square. 从而又导出MSE这些概念,而这是要用于选择算法的一个调参指标。还有很重要的方差-偏差均衡问题。
Robot Control
这是大学我从中学到很多的一门课程。全英文教学,没有考试,只有期末论文。在写这个论文的过程中,也是一个从零开始的研究过程,要做一个机器人的运动模型还要验证出来,一开始我以为这是件不可能的事情。但后来自己搜寻大量文献,规划好学习路径,然后独立的去学Matalab仿真学矩阵,这个的训练使我对参加美赛建模有更大的自信。同时在学Latex的时候,因为经常报错,所以也很好的训练了我在网上像Stackoverflow等论坛搜寻帮助的能力,当然还有科学上网的能力。
建模比赛
建模的收获
大学参加了两次建模比赛,我很享受这个比赛过程。因为团队三个人,闭关四天四夜,分工合作,然后又在同一个节奏上一起去解决一个很大的问题。正是因为这两次建模经历,才促使我做出考研的决定。
完成一场美赛建模的过程,我觉得好比做一个研究的雏形。
首先是文献、数据的搜寻,因为大部分前沿的文献都是英文,所以这步对于英文阅读有很高的要求即要快速或许论文的信息和思路,并初步归类。然后了解一些基本的数据库、SCI、科学上网这些工具。
其次是要快速进入研究状态,因为比赛时间很短,我们基本要在第一天就规划好学习路径,静下心来潜心去研究这个问题。很有可能一些仿真软件要从零开始学,比如17年比赛的时候我们就用了几个小时掌握一个交通仿真软件Vissim, 还有学习元胞自动机模型。
最后是要初步提出解决答案,不能因为卡在一个点上而整个团队止步不前。先提出一个粗糙的模型,解决主要问题。后面再不断的优化、迭代,并做仿真模拟。
另外,整个建模过程最关键的是要始终有着一个北极星的目标。只有时刻记住这个北极星的目标,我们搜寻文献、确定模型、优化才能做到心中有底。而北极星的目标构建又来源你对这个赛题背景的深入理解,要把自变量、因变量这些给定义清楚、分号类。
建模的过程以及相关算法阐述
我们当时是建立一个基于气候变化导致的国家脆弱性模型。第一步先是分析各个可能存在的自变量,以及自变量间的关系。之后是去一个网站找气候变化相关的数据,所获得数据维数有100多维,先把缺失值过多的直接删除,然后再利用PCA的碎石图选择变量,将维数降到40多维。至于缺失值的处理是利用K-均值聚类,先根据数据完整的变量,把观测值分类,针对含缺失值的变量利用该类的均值作填充。对完整的数据利用AHP方法确定权重,把这些维度合并成三个大的指标体系。整理出训练集测试集后,便让队友开始用神经网络模型跑模型、调整参数;然后后面考虑到变量之间的相关性,引入一个交互项,并发现得到进一步优化。根据题目要求需要具体解释原因,后续便用了randomFores模型输出变量的重要性排名。
这个比赛过程中也对算法有了自己的理解。比如神经网络模型对于小的数据集容易过拟合。而随机森林却没有这个问题,它不仅预测性能好,而且基于基尼系数的重要性排名,也能很好的提升其可解释性。所以随机森林相对来说是更为常用的。正是从解决这个问题的时候,也发现深度学习、强化学习不会完全替代机器学习,因为简单的算法如回归、随机森林等有更好的可解释性。(有待完善)
所以针对一个特定的情况、一个特定的应用领域,算法的选择都是不一样的,不存在可以解决一切问题的高级算法。
PCA算法在遇到高维问题时,几乎是一个不可缺少的算法了,在本次建模比赛中,它是用于Unsupervised learning 中。它选择可以解释大部分方差的特征向量来作为主成分,而其中特征值和特征向量是通过雅可比旋转阀得来的。在应用这个算法时,一般是利用方差解释比率的碎石土来选择成分的个数。但由于没有响应变量,所以无法通过验证集MSE去衡量结果,因此无法确定所找到的变量是否是最有价值的模式。当时我们是通过定性分析,结合造成气候变化的原因来做筛选的。
K均值聚类算法步骤:首先是确定K值,K值的选取本质上是一个优化问题,当时用的R语言的Nbclust包实现的,这个包有24个指标来确定K值,支持的指标越多,说明K值越优;还有一种方法是根据类内平方和的elbow(拐点)。
随机划分成K类,然后以该类的均值为中心,离该中心越近则被归为该类,这里的距离一样是用欧式距离定义。欧式距离是绝对距离。迭代停止条件在R中是默认为10次,或者当所有的观测值不再重新分配为止。
优点是算法简单易理解,伸缩性好,适用于大数据。缺点是对异常值非常敏感。当有异常值时可以选用基于中心值的聚类方法。(异常值的查看通过箱线图或者残差图),聚类算法还有系统聚类算法,通过谱系图来剪枝的聚类算法。
大四
考研
区块链公司实习
由于当时区块链技术很火,所以我便想去了解下其背后的技术。因为我本身一方面会设计、文案然后另一方面对算法也有研究,便较轻松的找到了一个区块链公司的实习职位。
通过这段实习,我了解的更多的是关于分布式系统的东西。对FLP定理、CAP定理有一定的理解,明白目前分布式系统存在主要问题。而区块链从技术的角度来说,它首先是个解决了拜占庭将军问题的分布式网络,在完全开放的环境中,实现了数据的一致性和安全性。
网友评论