共计 1866 个字符,预计需要花费 5 分钟才能阅读完成。
【导语】:本文举荐的 GitHub 我的项目用 Python 实现风行的机器学习算法,还包含算法实现背地的解析。每个算法都有交互式 Jupyter Notebook 演示,你能够应用它来训练数据和算法配置,并实时在浏览器中查看后果、图表和预测。
简介
Homemade Machine Learning 这个我的项目的指标,并不是通过应用第三方库一行实现机器学习算法,而是从零开始实现,并且能更好地了解每个算法背地的数学原理。这就是为什么所有的算法实现都被叫做“homemade”,并且这些算法并不打算用于理论生产中。
(前哨君提醒:因为微信不反对外链,下文中的???? 数学、⚙️ 代码 和 ▶️ 演示,须要在我的项目主页跳转查看。)
本我的项目地址:https://github.com/trekhleb/h…
监督式学习
在监督式学习中,咱们将一组训练数据作为输出,每个训练组中,一组标签或者“正确答案”作为输入。而后,咱们训练咱们的模型(机器学习算法参数)将输出映射到正确的输入中(正确的预测)。最终的指标是找到一个模型参数,这个模型参数可能做到,即便是一个新的输出例,也能放弃继续正确的输出 -> 输入映射(预测)。
回归
在回归问题中,咱们做实值预测。最根本的,咱们尝试沿着训练给出的例子,画一个线 / 立体 / n 维立体。
应用示例:股票价格预测,销售剖析,任何数字依赖等。
线性回归
- ???? 数学 | 线性回归 – 实践和延申浏览的链接
- ⚙️ 代码 | 线性回归 - 实现示例
- ▶️ 演示 | 单变量线性回归 – 通过经济 GDP 预测国家幸福指数
- ▶️ 演示 | 多元线性回归 – 通过经济 GDP 和自由度指数来预测国家幸福指数
- ▶️ 演示 | 非线性回归 – 通过带有多项式和正弦特色的线性回归来预测非线性依赖
分类
在分类问题中,咱们通过某种特色过滤了输出例。
应用示例:垃圾过滤器,语言探测,寻找类似文档,手写文字辨认等。
逻辑回归
- ???? 数学 | 逻辑回归 – 实践和拓展浏览的链接
- ⚙️ 代码 | 逻辑回归 – 实现示例
- ▶️ 演示 | 逻辑回归 (线性边界) – 基于花瓣长度和宽度预测鸢尾花
- ▶️ 演示 | 逻辑回归 (非线性边界) – 基于参数 1 和参数 2 预测微型芯片的有效性
- ▶️ 演示 | 多元逻辑回归 | MNIST – 从 28×28 像素的图片中辨认手写数字
- ▶️ 演示 | 多元逻辑回归 | 风行的 MNIST – 从 28×28 像素的图片中辨认衣服类型
非监督式学习
非监督式学习是机器学习的一个分支,学习应用的测试数据没有被标记,分类或演绎。非监督式学习没有反馈,而是学习辨认数据中的共性,之后的具体反馈基于每个数据段中存在或不存在的共性。
聚类
在聚类问题中,咱们通过未知的特点过滤训练示例。算法自身决定什么样的个性用于过滤。
应用举例:市场宰割,社会网络分析,组织计算集群,地理数据处理,图像压缩等。???? K-means 算法
???? 数学 | K-means 算法 – 实践和拓展浏览的链接
⚙️ 代码 | K-means 算法 – 实现示例
▶️ 演示 | K-means 算法 - 基于花瓣长度和宽度预测鸢尾花
异样探测
异样探测(也叫离群探测)是罕见物品、事件或者察看的甄别,次要通过比对与主数据的显著不同来进步狐疑个性。
应用示例:入侵检测,欺诈检测,零碎衰弱监控,还有从数据集中删除异常数据等。
???? 应用高斯分布进行异样探测
???? 数学 | 应用高斯分布进行异样探测 – 实践和拓展浏览的链接
⚙️ 代码 | 应用高斯分布进行异样探测 - 实现用例
▶️ 演示 | 异样探测 – 找到服务器操作中的异样,比方潜伏期,临界值
神经网络
神经网络不是一个算法,而是一个机器学习的算法框架,次要用来解决简单的数据输出。
应用示例:通常是所有其余算法的替代品,例如图像识别,声音辨认,图像处理(剖析具体特色),语言翻译等。
多层认知 (MLP)
???? 数学 | 多层认知 – 实践和拓展浏览的链接
⚙️ 代码 | 多层认知 - 实现用例
▶️ 演示 | 多层认知 | MNIST – 从像素为 28×28 的图片中辨认手写笔迹
▶️ 演示 | 多层认知 | 风行的 MNIST – 从 28×28 像素的图片中辨认衣服类型
机器学习图谱
学习前提
-
装置 python
- 装置依赖。运行上面的命令,能够装置本我的项目须要的所有依赖:
pip install -r requirements.txt
- 本地启动 Jupyter 或者近程启动 Jupyter
数据集
本我的项目应用的数据集能够在如下链接中找到:
https://github.com/trekhleb/h…
开源前哨
日常分享热门、乏味和实用的开源我的项目。参加保护 10 万 + Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。