找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6097|回复: 7
收起左侧

[刷题总结] 我的自学路线

[复制链接]

2

主题

1

精华

124

积分

资深会员

Rank: 2

积分
124
发表于 3-17-2017 07:08 AM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Sophia 于 3-12-2016 10:43 PM 编辑

Java方面
1.有两门课可选:Udacity的Intro to Programming in Java, stanford的CS106A Programming Methodology. 如果时间比较充裕我觉得可以看后者,因为这门课太经典了,认真完成每次project,水平提高很快,缺点是project有点难度,一节课50分钟28节课,费时,所以时间比较少可以看Udacity的那门,我觉得是Udacity上比较好的一门了,老师和助教一起上课,编程练习设置得也很合理。
2.随后可以看Head First Java,我觉得这本书还是不错的,我没做后面的题目,但书大部分内容都看完了,有帮助。
3.Coursera的Algorithms,内容基本涵盖了常用的算法和数据结构,作业也很不错,第二周的作业中有linkedlist,在这之前我把UCB61B的data structure上了25课,我比较推荐这门课,前18课讲的是java基础,这老师讲的太清楚了,对于搞清java基础帮助甚大,但是也比较耗时,我觉得前18课还是有必要认真听一下的,同时也有教了linkedlist。
4. 目前在刷CC150,我觉得这本书的确还是越早刷越好,上面这些已经学过的同学,在来美国之前就已经可以刷题了,百利而无害。

Python:
1. 语法相当简单,入门的话可以去Codecademy,一会儿就能上手,时间比较多的话可以上Udacity CS101,python入门,同时会给你个网络爬虫的概念,稍微教你编一下网络爬虫。
2. 有了基础后可以去看Udacity CS215 Algorithms,也讲了一些算法并用python实现。还有另一门课CS212,这是optional的。
3. coursera上一门叫an intro to interactive programming in python,也是入门课吧,但最后教你怎么写个游戏,我觉得对于做小project有帮助。
4. python做数据处理有时候比R更全面,对其他语言的调用,和数据源的连接、读取,对系统的操作,还是正则表达和文字处理都有一定优势,特别是数据科学我觉得python比较常用的,所以要会用Python的各种library,numpy scipy是数值计算的扩展包,pandas是主要用来做数据处理(numpy依赖),sympy做符号计算,Matplotlib则用来画图,此外还有一些不太成熟的包如sciki learn,statistical models。成熟度不如R。
这些library:https://github.com/jrjohansson/scientific-python-lectures,可以在这上面自学。也有一本书叫《Python for Data Analysis》,也有大量的介绍。
要会抓数据,这方面基本都是别人教我的,harvardData Science课也有教,youtube,博客,都有相当多的教学,我觉得这部分就看各大博客然后自己练习即可。至于正则表达式,http://deerchao.net/tutorials/regex/regex.htm,beautifulsoup也是google下多看看多用用就熟练了。

R:
1. 如果直接上手compute for data analysis,我觉得会比较困难。一开始可以先看code school的Try R,很基础很简单。
2. coursera的Compute for data analysis和data analysis都教R,后者是教一个完整的做数据分析的过程,面铺的很宽,depth不够。coursera上现在有门Data analysis and statistical inference,也会入门R,并且教统计基础,我觉得如果distribution,ttest,p value等很基本的东西都不记得了同学可以跟一下。
3. JHU 4月份开系列课程,目测应该不会很难,深度肯定也一般,最后会有一个Capstone Project,不知道是不是要付钱才能做,但整个系列课程都是free的,既然如此何不好好利用学习呢。

Machine Learning:
1.Statistical Learning的课很基础,我觉得对于入门很好,虽说SL和ML还是有点区别的,(我能感觉到但还是说不出来= =)。一开始讲了linear regression, logistic regression, 随后讲了resampling method:用来control trade-off between bias and variance,接着有回归树和分类树,boosting,支持向量机,最后以unsupervised learning结尾,标准的ML的讲课顺序,涵盖了常规的基本内容。
2.coursera的Machine Learning是用MATLAB的,是Coursera的招牌课并且口碑很好,我觉得对于ML入门帮助会很大,并且可以练习MATLAB。一开始教简单的线性回归和逻辑回归,然后同样,为了解决bias和variance问题引出regularization,然后是较为好用但是比较慢的神经网络,全面发展成熟的SVM(with Kernel和without Kernel),随后是非监督的聚类(非常简单容易理解),降维用的PCA。这门课我边上边参考这位浙大研究生的笔记,觉得她写得挺详尽,帮助理解。http://blog.csdn.net/abcjennifer/article/category/1173803
3.Udacity的在3月中旬开设Machine Learning三门课,分为监督学习非监督学习和加强学习,看了一下课表比较详细比较全面,暑假有空会跟。
4.台湾国立的林老师开的机器学习基石,个人认为相当好,但里面的作业题需要R或者python实现,这之前如果对R或者python不够熟悉的话,很难跟上。
5.同时还有Caltech的learning from data, UCB的intro to data science,UCB的Big Data Analysis with Twitter,coursera上的两门data science的课(等了一年还没不开,我估计不开了),我觉得都是要有编程能力或者ML的了解作为基础再上的进阶课。
6. 书的话有两本,一本叫机器学习实战,还有一本叫Machine Learning from Hackers,我觉得Machine Learning也是实践出真知的,这两本书我个人觉得会有很大的帮助。

其他:
Hadoop: Udacity系列课会有介绍,还有就是上次某个大神分享的Cloudera课件,有人试过吗= =,我没法用,谁看过的话希望能教我一下。
数据库:可以去w3school上学,也可以跟coursera的intro to database.


最后说说自学的一些感想。
我觉得学习过程中很大的问题就是,对于某些概念,你google了,问了同学,结果你还是看不懂听不明白,这个时候完全不要纠结,你一直纠结某个初级内容,无疑是小学一年级你在纠结1+1等于几,你一年级成绩不好,你却说,不,我要留级把一年级的课学得精通再到二年级,我劝你还是一路学下去,因为就算你一路成绩很差,到了六年级你也只能考60分,但是这个时候1年级的题你一定能考满分。我要表达的就是,很多学习过程中的细节,你不断地去纠结,就浪费了大量时间,很可能到最后你还是没明白这个问题是怎么回事,不如放在一边继续向前,你加足马力,等到你已经向前很多了,自然而然就会明白当初的问题是怎么回事了。当然这种还是要靠自己度量和把握。
还有就是面不要铺得很宽,这样很累,我觉得可以先精通一样,然后再慢慢往旁边展开。


评分

参与人数 1金钱 +6 收起 理由
Sophia + 6 精华帖子!大赞!

查看全部评分

1

主题

0

精华

71

积分

资深会员

Rank: 2

积分
71
发表于 4-23-2018 09:26 PM | 显示全部楼层
留记号
回复 支持 反对

使用道具 举报

发表于 3-21-2017 06:34 PM | 显示全部楼层
精华帖子!大赞!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表