南京音乐推荐联合社

python课程学完了,师傅领进门,修行在个人

2019-05-01 14:36:54


翻了翻手机的记录,我是7月22日获得邀请码的。隔了两天,就开始学习了。


先介绍一下我的背景。



我自己基础还比较好,高中的时候搞过信息学竞赛(我们那个时候还用pascal后来换成c),高二拿了省三等奖,然后就半途而废了(后悔+捂脸)… 大学学了一个不需要编程的专业,研究生转到经济学。待读到博士,需要写一些简单的代码实现一些数据处理或者是算法求解的时候(主要是用matlab),便有些编程恐惧了。


但我又挺不服气的,想老娘当年也是徒手键盘征服了竞赛的萝莉一枚,大学不是计算机科班出身但好歹也是写过汇编语言的,岂能被小小编程吓住了。再说经济学模型很多都是在求解优化问题,均衡求解是优化,参数估计亦是优化,不能从根本上掌握计算机的优化过程,很多东西是没法解释透彻的。


再说了…现在哪哪都在说“大数据”,我理解就是海量数据+统计模型,海量数据使传统统计模型拟合(训练)效果更好,但也带来了很多新鲜东西,提出了不少的挑战。我自己用神经网络做过一些宏观经济指标的预测,基本上训练数据量都是不够大的,有些效果还不错,有些就很不好。


我心里呢,一直对python跃跃欲试,是因为python便于抓取分析数据,而且处理一些与语言和情感分析相关的内容也得心应手一些(嗯,以后的方向!)。


我平时工作挺忙的,python是拿起来又放下,拿起来又放下。早就安装好了,但打开黑黑的框框,敲几个字母,没什么反应,又关上了。要安装一些包,好,去找到轮子文件,也不知道该怎么办,又放下了。就这么零敲碎打的,总也开始不了。



上周一,打开cxy61.com,打开对话窗口,就这么开始了。


打开IDLE 敲下第一行 #coding utf-8 的时候,想:这特么是什么鬼,可能跟中文有关吧所以python到底支持不支持中文… 再想:#又是什么鬼,所以这句话岂不是注释掉了吗所以到底有什么用啊啊!!!!



内心活动过于丰富不行。别想了,往下敲吧。


几行字加一个enter后,我又看到了十多年前,在蓝色的屏幕上,闪烁的光标下面,第一次看到闪出的"hello world"的那个女中学生。

嗯,她又回来了。


“Hello World.” 她说。


第一步迈出去了,后面便十分容易。课程提供了几个基本数据类的简单操作,一些循环语句的简单操作。用一两天,学完了。


到周三的时候,我已经可以写好用dict类做的那个人机对话的小程序,至此,编程恐惧已经基本克服了。



这就结束了吗?不,这才刚刚开始。

我翻出来以前看过的算法视频,打开Github找到相应的材料,准备用python从头开始撸。


面临的第一个问题是装包。IPython, NumPy, Pandas, SciPy 这些数据处理的;还有NLP的一些分词工具… 这些我懒得一个一个装,于是就下载了一个PyCharm。PyCharm界面复杂,用起来有点像matlab,并不简洁优雅(吐槽1)。但是它还挺贴心,我打一个import xxx,它自动就会问是不是要装这包,然后乖乖就装好了(也就第一次,后面就不灵了,吐槽2)。更贴心的是,它会随时帮你调整敲下的语句,划个红线呀,提示个函数用法呀,总之写几句话好像没几个对的,写得我是战战兢兢,瑟瑟发抖,刚建立起来的信心瞬间就没影了,键盘一推,不想干了(终极吐槽3)。


回到IDLE敲几行,简洁明快,还是朴素的IDLE拯救了我。于是我也不计较麻烦了,直接在cmd窗口下用pip install xxx 老老实实的把包一个一个装好,其实也并没有很难,而且看到黑黑的屏幕上白白的进度条哗啦哗啦闪过,莫名觉得有点酷炫。



其他也三不五时遇到一些小问题,比如int和str的类型是不能动的,该怎么转换…之类的。这些问题,百度一下,知乎一下,或者stackoverflow一下,慢慢自己经验就多了,一个一个解决了。



到现在呢,我已经完整地用python实现了拟合函数的梯度下降优化(啊就是一阶函数求极值啦并没有什么高深的)。以前自己做计量模型拟合,计量软件会自动出结果。现在自己去试着想一下计算机可能是怎么优化的,而不是想当然地以为人家就是用系数矩阵算的(能有什么错?手动微笑),对理解结果(以及结果的不怎么靠谱性,再次手动微笑),是非常有帮助的。接下来继续进行二阶优化(Newton method), 多次重复抽样的参数估计,非参优化等等,撸算法和写程序相结合,对两边的理解都能更深一些。


其实我现在的工作不需要做这些,以写文为生,宏观理解和笔头功夫更要紧。但是我总是想,对数学的理解、对计算机的理解、对经济的理解,是分不开的。它们都是对这个世界的理解,都是在努力描述世界运行的规律,而对本质规律的把握,是在哪里都需要的。



  • 最后想通过这几天的经历告诉大家

    早点开始动手,不要害怕,也不要在一开始想太多。先run出结果,有了正向激励,慢慢再去解决其他不懂的问题,一个一个慢慢来;

    2 师傅领进门,修行在个人。这个小课程只是一个小小的开始,后面还有很多有意思的东西等着大家去挖掘;


    3 刚开始不要去碰一些让自己沮丧的东西,进步是一点一点的;


    最重要的,我从来没有因为我是女性而限制自己的概念,我知道这对很多女性来说很难,但是希望我们都能做到。



作者:  Feya

来源: “程序媛计划”论坛

链接:  https://www.cxy61.com/girl/cxyteam_forum/detail.html?id=6492&pk=9


Copyright © 南京音乐推荐联合社@2017