作业的发布与提交都在本git仓库中进行
###相关资源:
- 机器学习视频网站--请与课程的进度保持同步。http://www.coursera.org/learn/machine-learning/
- matlab下载地址--windows & linux。链接: https://pan.baidu.com/s/1o787KeA 密码: ad6a
- 数据挖掘导论--作为补充材料。发布于群文件
- python学习网站。http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000#0
- numpy教程。https://docs.scipy.org/doc/numpy-dev/user/quickstart.html
- matplotlib教程。http://www.labri.fr/perso/nrougier/teaching/matplotlib/
- 其他好资源推荐。http://www.shareditor.com/bloglistbytag/?tagname=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E6%95%99%E7%A8%8B
###欢迎来到新手村,你需要完成以下训练:
####1. Task0——github的使用
- 注册github帐号
- star这个仓库
- 自学git及github的基础使用,并在自己电脑上配置好环境
- fork这个仓库,clone下你的仓库,在本地创建新的分支(不要使用默认的master分支)
- 在本地Task0/15/目录下,添加一个新的文件,以自己的github账户名作为markdown文件的文件名,如:helloworld.md
- 文件中可以写你想说的任何话(推荐写自己的座右铭)
- commit到本地仓库,然后将本地分支推送到remote
- 向原仓库的master分支发起pull request,等待合并分支
请于第三周结束前完成以上内容。
####2. Task1——Linear Regression
-
加载数据Task1/q2x.dat,Task1/q2y.dat
-
使用线性回归算法拟合它们
-
画图观察梯度下降的过程,let it nice-looking:)。
-
结果图参考Task1/linear_regress.fig
-
在Task1/15/目录下提交你的结果图(jpg、png、fig),以自己的github账户名作为文件名,如:sunyiyou.fig
支线任务:
- 学习python的基本语法
- 学习numpy框架的使用
请于第四周结束前完成以上内容。
####3. Task2——Locally Weighted Linear Regression
-
加载数据Task2/q2x.dat,Task2/q2y.dat
-
使用加权线性回归算法拟合它们(请自行查阅局部加权线性回归的资料)
-
改变高斯函数的theta值,观察结果
-
画图,结果图参考Task2/weighted_linear_regress.fig
-
在Task2/15/目录下提交你的结果图(jpg、png、fig)与代码,以自己的github账户名作为文件名,如:sunyiyou.fig,sunyiyou.m
支线任务:
- 学习matplotlib框架的使用
请于第六周结束前完成以上内容。
####4. Task3——Logistic Regression
-
加载数据Task3/q1x.dat,Task3/q1y.dat
-
使用逻辑斯底回归算法对它们进行分类
-
结果图参考Task3/logistics_regress.fig
-
在Task3/15/目录下提交你的结果图(jpg、png、fig),以自己的github账户名作为文件名,如:sunyiyou.fig
支线任务:
- 使用python实现上述过程
- 用牛顿法取代梯度下降法实现算法
请于第七周结束前完成以上内容。
####5. Task4——Simple Neural Network
-
自行学习matlab神经网络工具箱的使用
-
阅读未完成的代码Task4/main.m,并补充必要部分
-
结果图参考Task4/main.png
-
在Task4/15/目录下提交你的结果图(jpg、png、fig)与代码,以自己的github账户名作为文件名,如:sunyiyou.fig,sunyiyou.m
支线任务:
- 有能力与毅力同学可以手撸BP网络来实现上述过程,将使你对神经网络的理解上一个台阶:)
请于第八周结束前完成以上内容。
####6. Task5——Support Vector Machine
-
自行学习libsvm工具箱的使用(python/matlab)
-
在matlab或python环境下配置libsvm
-
成功运行、阅读并理解代码Task5/main.m,基本掌握libsvm的使用(例子中是回归SVM)
-
加载数据Task5/q1x.dat,Task5/q1y.dat
-
使用SVM对它们做分类
-
在Task5/15/目录下提交你的结果图(jpg、png、fig)与代码,以自己的github账户名作为文件名,如:sunyiyou.fig,sunyiyou.m
-
不建议手撸SVM,学长已趟过坑:)
支线任务:
- 在图中用特殊记号标出被作为支持向量的点
- 调整参数"-c"和"-g"并比较支持向量的分布情况
请于第十周结束前完成以上内容。