有监督的学习
在有监督的学习中,我们有一组训练数据作为输入,有一组标签或每个训练集的“正确答案”作为输出。然后,我们正在训练我们的模型(机器学习算法参数),以正确地将输入映射到输出(以进行正确的预测)。最终目的是找到能够成功继续正确运行的模型参数输入→输出映射(预测),即使对于新的输入示例也是如此
回归
在回归问题中,我们做实值预测。基本上,我们尝试沿着训练示例绘制一条直线/平面/n维平面
使用示例:股价预测、销售分析、任意数字依赖等
🤖线性回归
- 📗Math | Linear Regression-理论和进一步阅读的链接
- ⚙️Code | Linear Regression-实施示例
- ▶️Demo | Univariate Linear Regression-预测
country happiness
评分依据economy GDP
- ▶️Demo | Multivariate Linear Regression-预测
country happiness
评分依据economy GDP
和freedom index
- ▶️Demo | Non-linear Regression-将线性回归用于多项式和正弦波预测非线性依赖关系的功能
分类
在分类问题中,我们按一定的特征划分输入样本
使用示例:垃圾邮件过滤器、语言检测、查找相似文档、手写字母识别等
🤖Logistic回归
- 📗Math | Logistic Regression-理论和进一步阅读的链接
- ⚙️Code | Logistic Regression-实施示例
- ▶️Demo | Logistic Regression (Linear Boundary)-预测鸢尾花
class
基于petal_length
和petal_width
- ▶️Demo | Logistic Regression (Non-Linear Boundary)-预测微芯片
validity
基于param_1
和param_2
- ▶️Demo | Multivariate Logistic Regression | MNIST-从以下位置识别手写数字
28x28
像素图像 - ▶️Demo | Multivariate Logistic Regression | Fashion MNIST-从以下位置识别衣服类型
28x28
像素图像
无监督学习
无监督学习是机器学习的一个分支,它从没有标记、分类或分类的测试数据中学习。无监督学习不是响应反馈,而是识别数据中的共性,并根据每个新数据中是否存在这些共性来做出反应
群集
在聚类问题中,我们根据未知特征对训练样本进行拆分。算法本身决定使用什么特征进行分割
使用示例:市场细分、社交网络分析、组织计算集群、天文数据分析、图像压缩等
🤖K-均值算法
- 📗Math | K-means Algorithm-理论和进一步阅读的链接
- ⚙️Code | K-means Algorithm-实施示例
- ▶️Demo | K-means Algorithm-根据以下条件将虹膜花分割成簇
petal_length
和petal_width
异常检测
异常检测(也称为离群值检测)是通过与大多数数据显著不同来识别引起怀疑的稀有项目、事件或观测
使用示例:入侵检测、欺诈检测、系统健康监控、从数据集中删除异常数据等
🤖基于高斯分布的异常检测
- 📗Math | Anomaly Detection using Gaussian Distribution-理论和进一步阅读的链接
- ⚙️Code | Anomaly Detection using Gaussian Distribution-实施示例
- ▶️Demo | Anomaly Detection-查找服务器操作参数中的异常情况,如
latency
和threshold
神经网络(NN)
神经网络本身不是一种算法,而是许多不同的机器学习算法协同工作并处理复杂数据输入的框架
使用示例:作为替身所有其他算法的总称,图像识别、语音识别、图像处理(应用特定风格)、语言翻译等
🤖多层感知器(MLP)
- 📗Math | Multilayer Perceptron-理论和进一步阅读的链接
- ⚙️Code | Multilayer Perceptron-实施示例
- ▶️Demo | Multilayer Perceptron | MNIST-从以下位置识别手写数字
28x28
像素图像 - ▶️Demo | Multilayer Perceptron | Fashion MNIST-从以下位置识别衣服的类型
28x28
像素图像
机器学习地图
以下机器学习主题地图的来源是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