当前位置: 首页 > 科技观察

Github12000+star的机器学习教程、理论、代码、demo都有

时间:2023-03-19 22:33:38 科技观察

简介:本文介绍的仓库包含了Python实现的流行机器学习算法的例子,后面会讲解它们的数学原理。每个算法都有一个交互式Jupyternotebook演示,允许您使用训练数据、配置算法并立即在浏览器中查看图形并预测结果。▲图片来源:https://vas3k.ru/blog/machine_learning/本项目的目的不是让大家通过第三方库中的一行代码来实现机器学习算法,而是实现这些算法从头开始更好地理解每个算法背后的数学。这就是为什么所有的算法实现在这里都被称为“自制”,而不是纯粹为了运行算法。https://github.com/trekhleb/homemade-machine-learning#homemade-machine-learning01监督学习在监督学习中,我们有一组训练数据作为输入,每个训练集都有一组标签或“正确答案”“作为输出。然后我们训练我们的模型(机器学习算法参数)以正确地将输入映射到输出(做出正确的预测)。最终目标是找到这样的模型参数,即使对于新的输入示例,也能成功地继续正确的输入→输出映射(预测)。1.回归在回归问题中,我们做出实值预测。我们尝试沿着训练样例绘制线/平面/n维平面。使用示例:股票价格预测、销售分析、数字依赖等。线性回归线性回归数学|理论、链接和更多阅读材料https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/linear_regression代码|实施示例https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/linear_regression/linear_regression.pyDemo|单变量线性回归:使用GDP预测城市幸福指数自由指数预测城市幸福指数非线性回归:使用多项式和正弦曲线特征预测非线性依赖关系https://nbviewer.jupyter.org/github/trekhleb/homemade-machine-learning/blob/master/notebooks/linear_regression/non_linear_regression_demo.ipynb2。分类在分类问题中,我们将输入示例按某些特征进行划分。使用示例:垃圾邮件过滤、语言检测、查找相似文档、手写字母识别等。LogisticRegression逻辑回归数学|理论、链接和更多阅读材料https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/logistic_regression代码|实施示例https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/logistic_regression/logistic_regression.pyDemo|Logistic回归-线性边界:基于花瓣长度和花瓣宽度的鸢尾类预测Logistic回归-非线性边界:基于Param_1和Param_2的微芯片有效性预测多元逻辑回归-MNIST:从28x28像素图像中识别手写数字MNIST:从28x28像素图像识别服装类型https://nbviewer.jupyter.org/github/trekhleb/homemade-machine-learning/blob/master/notebooks/logistic_regression/multivariate_logistic_regression_fashion_demo.ipynb02无监督学习无监督学习是机器学习的一个分支,它从未标记的分类数据中学习根据每条新数据中是否存在此类共性来确定数据中的共性。1.聚类在聚类问题中,我们拆分具有未知特征的训练实例。算法本身决定了用于分割的特征。使用示例:市场细分、社交网络分析、组织计算集群、天文数据分析、图像压缩等。K-means算法数学|理论、链接和更多阅读材料https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/k_meanscode|实现示例https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/k_means/k_means.pyDemo|根据花瓣长度和花瓣宽度将鸢尾花分割成簇https://nbviewer.jupyter.org/github/trekhleb/homemade-machine-learning/blob/master/notebooks/k_means/k_means_demo.ipynb2。异常检测异常检测是指通过与大多数数据显着不同而引起怀疑的罕见项目、事件或观察结果的识别。使用示例:入侵检测、欺诈检测、系统健康监控、从数据集中删除异常数据等。AnomalyDetectionusingGaussianDistribution基于高斯分布的异常检测数学|理论、链接和更多阅读材料https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/anomaly_detectioncode|实现示例https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/anomaly_detection/gaussian_anomaly_detection.pyDemo|查找延迟和阈值等服务器运行参数中的异常https://nbviewer.jupyter.org/github/trekhleb/homemade-machine-learning/blob/master/notebooks/anomaly_detection/anomaly_detection_gaussian_demo.ipynb03神经网络神经网络不是算法本身,而是许多不同机器学习算法协同工作并处理复杂数据输入的框架。示例用法:作为所有其他算法的替代,应用于图像识别、语音识别、图像处理(应用特定样式)、语言翻译等。MultilayerPerceptron(MLP)多层感知器数学|理论、链接和更多阅读材料https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/neural_networkcode|实现示例https://github.com/trekhleb/homemade-machine-learning/blob/master/homemade/neural_network/multilayer_perceptron.pyDemo|从28x28像素图像中识别手写数字从28x28像素图像识别衣服类型https://nbviewer.jupyter.org/github/trekhleb/homemade-machine-learning/blob/master/notebooks/neural_network/multilayer_perceptron_fashion_demo.ipynb04机器学习图1.先决条件安装Python:确保你在你的机器上安装了python。您可能希望使用venv标准python库创建一个虚拟环境,并从您的本地项目目录安装python、pip和所有依赖包,以避免干扰系统范围的包及其版本。安装依赖项:pipinstall-rrequirements.txt2。LaunchingJupyterLocally项目中的所有demo都可以直接在浏览器中运行,无需在本地安装jupyter。但是,如果您想在本地启动jupyternotebook,可以从项目的根文件夹运行以下命令:jupyternotebook之后,jupyternotebook将可以在http://localhost:8888访问。3.远程启动Jupyter每个算法部分都包含一个指向JupyterNBViewer的演示链接。这是JupyterNotebooks的快速在线预览器,您可以在其中直接在浏览器中查看演示代码、图形和数据,而无需在本地安装任何东西。如果要更改代码和实验演示笔记本,则需要启动笔记本的活页夹,只需单击NBViewer右上角的“在活页夹上执行”链接即可。4.数据集用于JupyterNotebook演示的数据集列表可以在数据文件夹中找到:https://github.com/trekhleb/homemade-machine-learning/blob/master/data