对于机器学习有兴趣,很多人应该会先从 Andrew Ng ( 吴恩达 ) 的机器学习课程开始,可是吴恩达的课程是使用git
octave 这个工具看成练习。这个 github 项目包含使用 Python 实现流行机器学习算法的范例,并解释了其背后的github
数学原理。 每一个算法都有交互式的 Jupyter Notebook 示范,可让你玩训练数据、算法配置,并当即在浏览器中算法
检视结果、图表和预测。 在大多数状况下,这些解释都是基于 Andrew Ng 的这门伟大的机器学习课程。浏览器
这个储存库的目的不是经过使用第三方程式库”一行程序”来实现机器学习算法,而是从头开始实践这些算法,并更好框架
地理解每一个算法背后的数学原理。dom
https://softnshare.com/github-machine-learning-octave/机器学习
在监督式学习,咱们有一组做为输入的训练资料和一组标签或做为输出的每一个训练集的”正确答案”。 而后咱们训练咱们的模型(机器学习演算法参数)来正确地对映输入到输出(作正确的预测)。 最终的目的是找到这样的模型参数,将成功地继续正确的输入→输出对映(预测) ,甚至为新的输入例子。工具
回归 Regression学习
在回归问题中,咱们作真实值的预测。 基本上,咱们尝试沿着训练样本绘制一条线 / 平面 / n 维平面( line/plane/n-dimensional plane)。测试
使用范例: 股票价格预测,销售分析,任何数字的相依等。
Math | Linear Regression-进一步阅读的理论及连结
Code | Linear Regression-实现范例
Demo | 单变数线性回归 Univariate Linear Regression-使用 economy GDP 来预测城市快乐指数
Demo | 多变数线性回归 Multivariate Linear Regression-使用 economy GDP 和 freedom index 来预测城市快乐指数
Demo | 非线性回归 Non-linear Regression-使用线性回归多项式及正弦曲线特征来预测非线性相关性
分类 Classification
在分类问题中,咱们根据必定的特征分割输入范例。
使用范例: 垃圾邮件过滤器,语言侦测,寻找相似的文件,手写字母识别等。
非监督式学习是机器学习的一个分支,它从未被标记、分类或分类的测试资料中学习。 非监督式学习不是对反馈作出反应,而是根据每一个新资料中是否存在这些共同特性来识别资料中的共同性,并根据这些共同性的存在或不存在作出反应。
聚类 Clustering
在聚类问题中,咱们根据未知特征对训练样本进行分割。 由演算法自己决定用什么特征进行分割。
使用范例: 市场划分分析,社群网路分析,组织运算聚类,天文资料分析,影像压缩,等等。
异常检测 Anomaly Detection
异常检测指的是识别那些引发怀疑的罕见物品、事件或观察异常检测,它们与大多数资料截然不同。
使用范例: 入侵侦测、诈欺侦测、系统健康监控、从资料集中删除异常资料等。
利用高斯分布 ( Gaussian Distribution ) 进行异常检测
神经网路自己不是一个演算法,而是一个框架,将许多不一样的机器学习演算法一块儿运做和处理复杂的资料输入。
使用范例: 做为全部其它演算法的通常替代,影像辨识,语音辨识,影像处理(应用特定风格) ,语言翻译等。
多层感知器 Multilayer Perceptron (MLP)
这张机器学习地图的来源是这篇精彩的部落格文章
确保在机器上安装了 Python。
您可能但愿使用 venv 标准的 Python 程式库来创建虚拟环境,并从本地专案目录中安装和使用 Python、 pip 和全部相依套件服务,以免搞乱系统范围的套件及其版本。
安装相依套件
经过执行如下命令安装专案所需的全部依赖套件:
pip install -r requirements.txt
在本地端启动 Jupyter
专案中的全部示范均可以直接在浏览器中执行,而不须要在本地安装 Jupyter。 可是若是你想在本地启动 Jupyter Notebook,你能够在专案的根资料夹中执行如下命令:
jupyter notebook
在这以后,你能够经过 http: / / localhost: 8888 访问 Jupyter Notebook。
远端启动 Jupyter
每一个演算法部分包含到 Jupyter NBViewer 的示范连结。 这是一款快速的 Jupyter Notebooks 线上预览器,你能够直接在浏览器中看到示范的程式码、图表和资料,而不须要在本地安装任何东西。 若是你想改变程式码和展现的笔记本实验,你须要启动在 Binder 的笔记本。 你能够简单地点选 NBViewer 右上角的”Execute on Binder”连结。
用于 Jupyter Notebook 演示的资料集列表能够在 data 资料夹中找到。