Homemade-machine-learning 流行机器学习算法示例,并解释了交互式🤖演示和数学

有监督的学习

在有监督的学习中,我们有一组训练数据作为输入,有一组标签或每个训练集的“正确答案”作为输出。然后,我们正在训练我们的模型(机器学习算法参数),以正确地将输入映射到输出(以进行正确的预测)。最终目的是找到能够成功继续正确运行的模型参数输入→输出映射(预测),即使对于新的输入示例也是如此

回归

在回归问题中,我们做实值预测。基本上,我们尝试沿着训练示例绘制一条直线/平面/n维平面

使用示例:股价预测、销售分析、任意数字依赖等

🤖线性回归

分类

在分类问题中,我们按一定的特征划分输入样本

使用示例:垃圾邮件过滤器、语言检测、查找相似文档、手写字母识别等

🤖Logistic回归

无监督学习

无监督学习是机器学习的一个分支,它从没有标记、分类或分类的测试数据中学习。无监督学习不是响应反馈,而是识别数据中的共性,并根据每个新数据中是否存在这些共性来做出反应

群集

在聚类问题中,我们根据未知特征对训练样本进行拆分。算法本身决定使用什么特征进行分割

使用示例:市场细分、社交网络分析、组织计算集群、天文数据分析、图像压缩等

🤖K-均值算法

异常检测

异常检测(也称为离群值检测)是通过与大多数数据显著不同来识别引起怀疑的稀有项目、事件或观测

使用示例:入侵检测、欺诈检测、系统健康监控、从数据集中删除异常数据等

🤖基于高斯分布的异常检测

神经网络(NN)

神经网络本身不是一种算法,而是许多不同的机器学习算法协同工作并处理复杂数据输入的框架

使用示例:作为替身所有其他算法的总称,图像识别、语音识别、图像处理(应用特定风格)、语言翻译等

🤖多层感知器(MLP)

机器学习地图

以下机器学习主题地图的来源是this wonderful blog post

必备条件

安装Python

确保你有Python installed在您的机器上

您可能想要使用venv创建虚拟环境的标准Python库,pip以及从本地项目目录安装和提供的所有从属软件包,以避免扰乱系统范围的软件包及其版本

安装依赖项

通过运行以下命令安装项目所需的所有依赖项:

pip install -r requirements.txt

在当地发射木星

项目中的所有演示都可以直接在您的浏览器中运行,而无需在本地安装Jupyter。但如果你想发射Jupyter Notebook在本地,您可以通过从项目的根文件夹运行以下命令来完成此操作:

jupyter notebook

在此之后,Jupyter笔记本将可以通过以下方式访问http://localhost:8888

远程发射木星

每个算法部分都包含指向以下内容的演示链接Jupyter NBViewer这是Jupyter笔记本的快速在线预览器,您可以在浏览器中直接看到演示代码、图表和数据,而无需在本地安装任何东西。如果你想的话变化代码和实验使用演示笔记本时,您需要在中启动笔记本Binder您只需单击“在活页夹上执行”NBViewer右上角的链接

数据集

可在以下位置找到用于Jupyter笔记本演示的数据集列表data folder

支持该项目

您可以通过以下方式支持此项目❤️️GitHub或❤️️Patreon