github 专案介绍 – Python 范例:透过互动式的 Jupyter 和数学解释流行的机器学习演算法
对于机器学习有兴趣,不少人应该会先从 Andrew Ng ( 吴恩达 ) 的机器学习课程开始,但是吴恩达的课程是使用
octave 这个工具当作练习。这个 github 项目包含使用 Python 实现流行机器学习算法的范例,并解释了其背后的
数学原理。 每个算法都有交互式的 Jupyter Notebook 示范,可以让你玩训练数据、算法配置,并立即在浏览器中
检视结果、图表和预测。 在大多数情况下,这些解释都是基于 Andrew Ng 的这门伟大的机器学习课程。
这个储存库的目的不是通过使用第三方程式库”一行程序”来实现机器学习算法,而是从头开始实践这些算法,并更好
地理解每个算法背后的数学原理。
https://softnshare.com/github-machine-learning-octave/
监督式学习 ( Supervised Learning )
在监督式学习,我们有一组作为输入的训练资料和一组标签或作为输出的每个训练集的”正确答案”。 然后我们训练我们的模型(机器学习演算法参数)来正确地对映输入到输出(做正确的预测)。 最终的目的是找到这样的模型参数,将成功地继续正确的输入→输出对映(预测) ,甚至为新的输入例子。
回归 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
在分类问题中,我们根据一定的特征分割输入范例。
使用范例: 垃圾邮件过滤器,语言侦测,寻找类似的文件,手写字母识别等。
逻辑回归 Logistic Regression
Math | Logistic Regressio-进一步阅读的理论及连结
Code | Logistic Regression-实现范例
Demo | Logistic Regression (Linear Boundary)-根据 petal_length 和petal_width 预测虹膜花类
Demo | Logistic Regression (Non-Linear Boundary)-基于param_1和param_2 预测微晶片有效性
Demo | Multivariate Logistic Regression | MNIST-识别 28×28 像素影像的手写数字。
Demo | Multivariate Logistic Regression | Fashion MNIST-识别28×28像素影像的衣服类型。
非监督式学习 Unsupervised Learning
非监督式学习是机器学习的一个分支,它从未被标记、分类或分类的测试资料中学习。 非监督式学习不是对反馈做出反应,而是根据每个新资料中是否存在这些共同特性来识别资料中的共同性,并根据这些共同性的存在或不存在做出反应。
聚类 Clustering
在聚类问题中,我们根据未知特征对训练样本进行分割。 由演算法本身决定用什么特征进行分割。
使用范例: 市场划分分析,社群网路分析,组织运算聚类,天文资料分析,影像压缩,等等。
K-means Algorithm
Math | K-means Algorithm-进一步阅读的理论及连结
Code | K-means Algorithm-实现的范例
Demo | K-means Algorithm-根据 petal_length 和 petal_width 将虹膜花聚类
异常检测 Anomaly Detection
异常检测指的是识别那些引起怀疑的罕见物品、事件或观察异常检测,它们与大多数资料大相径庭。
使用范例: 入侵侦测、诈欺侦测、系统健康监控、从资料集中删除异常资料等。
利用高斯分布 ( Gaussian Distribution ) 进行异常检测
Math | Anomaly Detection using Gaussian Distribution-进一步阅读的理论及连结
Code | Anomaly Detection using Gaussian Distribution-实现的范例
Demo | Anomaly Detection-寻找伺服器操作参数(如 latency 和 threshold)中的异常
神经网路 Neural Network (NN)
神经网路本身不是一个演算法,而是一个框架,将许多不同的机器学习演算法一起运作和处理复杂的资料输入。
使用范例: 作为所有其它演算法的一般替代,影像辨识,语音辨识,影像处理(应用特定风格) ,语言翻译等。
多层感知器 Multilayer Perceptron (MLP)
Math | Multilayer Perceptron-进一步阅读的理论及连结
Code | Multilayer Perceptron-实现范例
Demo | Multilayer Perceptron | MNIST – 识别 28×28 像素影像的手写数字。
Demo | Multilayer Perceptron | Fashion MNIST-识别28×28像素影像的衣服类型。
机器学习地图
这张机器学习地图的来源是这篇精彩的部落格文章
开始前的准备
确保在机器上安装了 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”连结。
资料集 Datasets
用于 Jupyter Notebook 演示的资料集列表可以在 data 资料夹中找到。
github 专案介绍 – Python 范例:透过互动式的 Jupyter 和数学解释流行的机器学习演算法的更多相关文章
- 介绍Python程序员常用的IDE和其它开发工具
概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE 的全称是Integration Development Environment(集成开发环境), ...
- error: failed to push some refs to 'https://github.com/username/python.git'
解决error: failed to push some refs to 'https://github.com/bluepen/python.git' 当我们在使用git工具上传我们自己的代码时,可 ...
- selenium2 python范例
selenium2 python范例 下面脚本的功能是:打开谷歌浏览器-->跳转到某个网址-->输入用户名和密码登录-->读取页面内的数据并求和. # coding=utf-8 #编 ...
- 中国爬虫违法违规案例汇总github项目介绍
中国爬虫违法违规案例汇总github项目介绍 GitHub - 本项目用来整理所有中国大陆爬虫开发者涉诉与违规相关的新闻.资料与法律法规.致力于帮助在中国大陆工作的爬虫行业从业者了解我国相关法律,避免 ...
- 介绍python由来, 安装python3.8.3 及其变量的定义, 小整数池
介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Python这个名字,来自Guido所挚爱 ...
- 机器学习经典算法详解及Python实现--基于SMO的SVM分类器
原文:http://blog.csdn.net/suipingsp/article/details/41645779 支持向量机基本上是最好的有监督学习算法,因其英文名为support vector ...
- Python之机器学习K-means算法实现
一.前言: 今天在宿舍弄了一个下午的代码,总算还好,把这个东西算是熟悉了,还不算是力竭,只算是知道了怎么回事.今天就给大家分享一下我的代码.代码可以运行,运行的Python环境是Python3.6以上 ...
- 机器学习经典算法具体解释及Python实现--线性回归(Linear Regression)算法
(一)认识回归 回归是统计学中最有力的工具之中的一个. 机器学习监督学习算法分为分类算法和回归算法两种,事实上就是依据类别标签分布类型为离散型.连续性而定义的. 顾名思义.分类算法用于离散型分布预測, ...
- 机器学习经典算法具体解释及Python实现--K近邻(KNN)算法
(一)KNN依旧是一种监督学习算法 KNN(K Nearest Neighbors,K近邻 )算法是机器学习全部算法中理论最简单.最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值 ...
随机推荐
- Tensorlflow-解决非线性回归问题
import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt #使用numpy生成200个随机点,范围从-0.5到0 ...
- dataTable 加了竖向滚动条导致列头样式错位的问题 / 亲测可用,不好用你打我,用好了记得点推荐
tab在没有显示之前,容器是没有高度宽度的,而dt在自动计算高度和宽度时是获取的外部容器的高度和宽度,当切换tab时,dt获取不到这个高度宽度,导致列头都挤在一起,是用下面代码解决此问题 $('a[d ...
- Oracle9i之xmltype应用(1)
oracle从9i开始支持一种新的数据类型-- xmltype,用于存储和管理xml数据,并提供了很多的functions,用来直接读取xml文档和管理节点.下面将介绍xmltype的一些基本使用. ...
- for( in ) IE下兼容问题
在JS 中 for in 常用于遍历对象的可枚举属性,包括原型链上的属性.然而for_in在IE < 9下可能会出现问题. for_in要出现问题必须满足两个条件: 1:IE < 9; ...
- CSS媒体查询及其使用
1.什么是媒体查询 媒体查询可以让我们根据设备显示器的特性(如视口宽度.屏幕比例.设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成.媒体查询中可用于 ...
- 转 C#对多个集合和数组的操作(合并,去重,判断)
在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.这里介绍一些常用的集合跟数组的操作函数. 首先举例2个集合A,B. List<int> ...
- Exception 'ReflectionException' with message 'Class require does not exist'
记录一下今天遇到的错误 在使用 <?= $form->field($model, 'content')->textarea() ?> 的时候报错 Exception 'Ref ...
- Mina入门demo
初识Mina,简要记录理解内容和实现demo. 这里先简述一下BIO和NIO的区别: 同步阻塞IO(BIO):一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任 ...
- CentOS 6.7 安装配置 nagios-server
作者博文地址:https://www.cnblogs.com/liu-shuai/ 一.简介 Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态, ...
- VMware虚拟网卡设置问题
具体操作过程如下: (1)为虚拟机添加虚拟网卡 (2)添加后会自动分配子网ip,不用修改.点击应用,确定. (3)添加完成后本机的网络上会多出一个网络适配器,根据虚拟机器中的ip设置此ip地址, 这里 ...