人工智能中的监督学习和无监督学习

2a20c54b85e042bfa2440367ae4807e9.gif

欢迎来到 Papicatch的博客

目录

🍉引言

🍉监督学习

🍈基本思想

🍈具体过程

🍍数据收集

🍍数据预处理

🍍模型选择

🍍模型训练

🍍模型评估

🍍模型部署

🍉无监督学习

🍈基本思想

🍈具体过程

🍍数据收集

🍍数据预处理

🍍模型选择

🍍模型训练

🍍结果分析

🍉案例

🍈监督学习 - 房价预测(回归)

🍈监督学习 - 图像分类(分类)

🍈无监督学习 - 客户分群(聚类)

🍈无监督学习 - 降维和可视化

🍉对比监督学习和无监督学习的区别

🍈数据需求

🍈目标

🍈应用场景

🍈算法复杂度

🍈模型评估

🍉总结


2a20c54b85e042bfa2440367ae4807e9.gif

🍉引言

        人工智能(AI)中的机器学习(ML)可以根据学习方式分为几种主要类型,其中监督学习和无监督学习是两种最重要的方法。本文将介绍这两种学习方法的基本思想、具体过程,并提供四个复杂的代码实现案例来对比它们的区别。

🍉监督学习

🍈基本思想

        监督学习是一种利用已知标签的数据进行训练的机器学习方法。其目标是学习一个函数,通过该函数可以将输入映射到相应的输出。监督学习可以分为两类:回归和分类。

  • 回归:用于预测连续的数值,例如房价预测。
  • 分类:用于预测离散的类别标签,例如图像分类。

🍈具体过程

🍍数据收集

        收集带有标签的数据集,这些数据包含输入特征和对应的输出标签。

🍍数据预处理

        清洗和整理数据,处理缺失值,进行特征选择和特征工程,确保数据质量。

🍍模型选择

        选择适合问题的机器学习算法,例如线性回归、支持向量机、决策树、神经网络等。

🍍模型训练

        使用训练数据集对模型进行训练,调整模型参数以最小化预测误差。

🍍模型评估

        使用验证数据集评估模型性能,常用指标包括准确率、精确率、召回率、均方误差等。

🍍模型部署

        将训练好的模型应用到实际数据中进行预测,并持续监控模型性能,进行必要的调整和改进。

🍉无监督学习

🍈基本思想

        无监督学习是一种不使用标签数据进行训练的机器学习方法。其目标是从数据中发现潜在的模式或结构。无监督学习常见的方法有聚类和降维。

  • 聚类:将数据分成多个组,每组中的数据具有相似性,例如客户分群。
  • 降维:减少数据的维度,同时保持数据的重要特征,例如主成分分析(PCA)。

🍈具体过程

🍍数据收集

        收集未标注的数据集,这些数据只包含输入特征。

🍍数据预处理

        同样需要进行数据清洗和整理,确保数据质量。

🍍模型选择

        选择适合问题的无监督学习算法,例如K-means、层次聚类、主成分分析等。

🍍模型训练

        使用数据集对模型进行训练,以发现数据的结构或模式。

🍍结果分析

        对模型输出的结果进行分析和解释,评估模型在实际应用中的表现。

🍉案例

🍈监督学习 - 房价预测(回归)

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error# 数据加载
data = pd.read_csv('housing.csv')# 数据预处理
X = data.drop('price', axis=1)
y = data['price']# 分割数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 模型选择与训练
model = LinearRegression()
model.fit(X_train, y_train)# 模型评估
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse}')

        在这个案例中,我们使用线性回归算法预测房价。通过将数据集分为训练集和测试集,我们训练模型并评估其性能。

🍈监督学习 - 图像分类(分类)

import tensorflow as tf
from tensorflow.keras import datasets, layers, models
from sklearn.metrics import classification_report# 数据加载
(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()# 数据预处理
train_images, test_images = train_images / 255.0, test_images / 255.0# 模型选择与训练
model = models.Sequential([layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.Flatten(),layers.Dense(64, activation='relu'),layers.Dense(10)
])model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=10, validation_data=(test_images, test_labels))# 模型评估
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print(f'Test accuracy: {test_acc}')

        在这个案例中,我们使用卷积神经网络(CNN)进行图像分类任务。通过对CIFAR-10数据集进行训练和测试,我们评估模型的准确性。

🍈无监督学习 - 客户分群(聚类)

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt# 数据加载
data = pd.read_csv('customer_data.csv')# 数据预处理
scaler = StandardScaler()
data_scaled = scaler.fit_transform(data)# 模型选择与训练
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(data_scaled)# 聚类结果
labels = kmeans.labels_# 结果分析
plt.scatter(data_scaled[:, 0], data_scaled[:, 1], c=labels, cmap='viridis')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('Customer Segmentation')
plt.show()

       在这个案例中,我们使用K-means聚类算法对客户数据进行分群。通过数据标准化和K-means算法,我们可以发现数据中的自然分组。

🍈无监督学习 - 降维和可视化

import pandas as pd
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt# 数据加载
data = pd.read_csv('high_dimensional_data.csv')# 数据预处理
data_cleaned = data.dropna()  # 假设需要进行缺失值处理# 模型选择与训练
pca = PCA(n_components=2)  # 将数据降到2维
principal_components = pca.fit_transform(data_cleaned)# 结果分析
plt.scatter(principal_components[:, 0], principal_components[:, 1], cmap='viridis')
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.title('PCA of High Dimensional Data')
plt.show()

🍉对比监督学习和无监督学习的区别

🍈数据需求

  • 监督学习需要带标签的数据,而无监督学习不需要标签数据。这意味着监督学习的应用更依赖于数据标注,而无监督学习可以应用于更多场景。

🍈目标

  •  监督学习的目标是预测已知输出,例如分类或回归问题。
  • 无监督学习的目标是发现数据中的潜在结构,例如聚类或降维。

🍈应用场景

  • 监督学习常用于需要明确预测的任务,例如图像分类、股票价格预测、欺诈检测等。
  • 无监督学习常用于探索性数据分析和特征提取,例如客户分群、数据降维、异常检测等。

🍈算法复杂度

  • 监督学习算法通常需要大量标注数据进行训练,数据标注成本高,但模型训练和评估的过程相对明确。
  • 无监督学习算法需要更复杂的模型和算法来从未标注数据中提取信息,尽管数据获取成本低,但结果的解释和验证可能更具挑战性。

🍈模型评估

  • 监督学习的模型评估可以使用诸如准确率、精确率、召回率、均方误差等明确指标。
  • 无监督学习的模型评估通常依赖于领域专家的解释和对数据模式的直觉理解,缺乏标准化的评估指标。

🍉总结

        本文详细介绍了人工智能(AI)中监督学习和无监督学习的基本思想、具体过程,并通过四个复杂的代码实现案例对比了它们的区别。在监督学习中,我们通过使用已标注的数据集进行模型训练,目标是预测已知输出,如回归问题中的房价预测和分类问题中的图像分类。无监督学习则不使用标签数据,目标是从数据中发现潜在的模式或结构,如聚类中的客户分群和降维中的主成分分析(PCA)。

        通过对监督学习和无监督学习的详细讲解以及实际代码实现,我们了解到这两种方法在数据需求、目标、应用场景、算法复杂度和模型评估方面的不同。监督学习需要大量标注数据进行训练,而无监督学习不需要标签数据,更适用于探索性数据分析和特征提取。监督学习的目标是预测明确的输出,而无监督学习则致力于发现数据中的隐藏结构。

        在实际应用中,根据问题的具体需求选择合适的学习方法至关重要。希望通过本文的介绍和案例展示,读者能够对监督学习和无监督学习有更深入的理解,并能在实际项目中灵活运用这两种方法解决问题。

2a20c54b85e042bfa2440367ae4807e9.gif

希望能给大家提供一些帮助!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/856006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

示例:WPF中绑定枚举到ComboBox想显示成中文或自定义名称如何实现

一、目的:在开发过程中绑定的枚举不想显示成英文字段怎么办,这里通过TypeConverter的方式来实现绑定的枚举从定义的特性中读取 二、实现 首先定义如下枚举 [TypeConverter(typeof(DisplayEnumConverter))]public enum MyEnum{[Display(Name "无&q…

Flink 资源静态调度

本内容是根据 Flink 1.18.0-Scala_2.12 版本源码梳理而来。本文主要讲述任务提交时,为 Task 分配资源的过程。 以下是具体步骤讲解: TaskManager 资源注册 TaskManager 在启动时,会向 ResourceManager 注册资源。ResourceManager 会将 Tas…

斯坦福CS229机器学习中文速查笔记.pdf

斯坦福CS229是一门经典的机器学习课程,算是机器学习领域的明星课,相信不少人在B站上看过这门课的视频。 这门课主要介绍了机器学习和统计模式识别。内容包括:监督学习(生成/鉴别学习,参数/非参数学习,神经…

JavaSE 面向对象程序设计高级 方法引用 2024详解

在编程中,方法引用(Method Reference)是一种技术,它让你能够直接引用一个现有的函数或方法,而无需通过对象实例来调用。这种方法在函数式编程和高阶函数中非常有用,因为它提供了简洁的方式来传递函数行为&a…

业务谈判的过程中多让客户做选择

之前还在工厂的时候,开分享会,经理会反复强调的一个跟进思路就是一定要学会让客户跟着我们的节奏走,而不是被客户牵着鼻子走。 前者会让客户顺着我们设计好的谈判路径,把客户引导到我们想要的结果上,业务员是主动角色…

模版与策略模式

一,怎么选择 如果需要固定的执行流程,选模版 如果不需要固定的执行流程,只需要对一个方法做具体抽象,选策略 参考文章: 常用设计模式汇总,告诉你如何学习设计模式 二,常用写法 子类 exten…

穿越时空的家书——黑夫与惊的不朽传奇

1975年,湖北云梦县睡虎地的一次考古发掘,揭开了一段尘封的历史,两枚刻有527个字的木牍,成为了我国最早的家书实物。这两枚木牍,记录了战国时期秦国士兵黑夫和惊的家书。 两件木犊出土时被放置在墓地陪葬器物箱子里的中…

Nuxt3 实战 (十):使用 Supabase 实现 RESTful 风格 API 接口

前言 本篇文章我们来使用 Supabase 实现 RESTful 风格的 API 接口,以此来实现网站分类和子站点的 CURD 功能。 表设计 这里需要用到两张表: ds_categorys:存储网站分类 列名类型备注iduuid主键,分类 idnametext分类名称desct…

python 魔术方法备忘录

python 魔术方法备忘录 网上收集了一些,列出了比较常用的,特别是第一张。 Python中的魔术方法(Magic Methods),也被称为特殊方法(Special Methods)或双下划线方法(Dunder Methods&a…

渗透测试之存储型跨站脚本攻击(高危)

一、定义 跨站脚本攻击&#xff0c;指的是恶意用户往web页面里插入恶意HTML代码。当普通用户访问该web页面&#xff0c;嵌入其中的HTML代码会被执行&#xff0c;从而达到破坏的效果。 二、风险定级 高危 三、可输入的HTML标签示例 图片标签 <img src"#"> 超…

有监督学习——决策树、集成学习

1. 决策树 熵 在热力学中&#xff0c;熵&#xff08;entropy&#xff09;被用来衡量系统的不稳定程度。香农在论文《通信的数学原理》中提出信息熵的概念&#xff0c;目的是_量化数字信息的价值_。 信息熵的定义 香农提出的量化信息方式&#xff1a; \[H(P_1,P_2,\cdots P…

吴恩达机器学习作业ex3:多类分类和前馈神经网络(Python实现)详细注释

文章目录 1 多类分类1.1数据集1.2 数据可视化1.3 向量化逻辑回归1.3.1 向量化代价函数1.3.2 矢量化梯度下降以及正则化表达1.4 一对多分类 2.神经网络2.1模型表示 总结&#xff08;自己训练求解参数全流程&#xff09; 1 多类分类 在本练习中&#xff0c;您将使用逻辑回归和神…

Redis学习|Jedis、SpringBoot整合Redis

Jedis 我们要使用Java 来操作 Redis,知其然并知其所以然&#xff0c;授人以渔!学习不能急躁&#xff0c;慢慢来会很快!什么是Jedis 是 Redis 官方推荐的java连接开发工具!使用java 操作Redis 中间件!如果你要使用 java操作redis&#xff0c;那么一定要对Jedis 十分的熟悉! 1、…

MySQL之复制(五)

复制 复制的原理 复制文件 3.master.info 这个文件用于保存备库连接到主库所需要的信息&#xff0c;格式为纯文本(每行一个值)&#xff0c;不同的MySQL版本&#xff0c;其记录的信息也可能不同。此文件不能删除&#xff0c;否则备库在重启后无法连接到主库。这个文件以文本的…

电脑ffmpeg.dll丢失原因解析,找不到ffmpeg.dll的5种解决方法

在数字化时代&#xff0c;多媒体文件的处理已经成为我们日常生活和工作中不可或缺的一部分。在计算机使用过程中&#xff0c;丢失ffmpeg.dll文件是一个特定但常见的问题&#xff0c;尤其是对于那些经常处理视频编解码任务的用户来说。下面小编讲全面分析ffmpeg.dll丢失原因以及…

Python数据分析与建模库之从入门到四大库(Numpy、Pandas、Matplotl、Seaborn )教学课程下载

第一阶段课程-Python快速入门&#xff1a; 含&#xff1a;1.系列课程环境配置&#xff1b;2.Python快速入门&#xff1b;3.变量类型&#xff1b;4.LIST基础&#xff1b;5.List索引&#xff1b;6.循环结构&#xff1b;7.判断结构&#xff1b;8.字典&#xff1b;9.文件处理&#…

哪些好用的AI绘画生成软件?建议你试试这四款

哪些好用的AI绘画生成软件&#xff1f;随着人工智能技术的飞速发展&#xff0c;AI绘画生成软件逐渐走入大众的视野&#xff0c;为艺术创作领域带来了革命性的变革。今天&#xff0c;就让我们一起探索四款备受推崇的AI绘画生成软件&#xff0c;看看它们如何以独特的魅力&#xf…

202483读书笔记|《牵牛花浮世无篱笆:千代尼俳句250》——被红叶染红的只有一侧山坡之山 啊,单恋

202483读书笔记|《牵牛花浮世无篱笆&#xff1a;千代尼俳句250》——被红叶染红的只有一侧山坡之山 啊&#xff0c;单恋 春之句夏之句秋之句冬之句 历史读过的俳句列表: 202318读书笔记|《芭蕉芜村一茶&#xff1a;俳句三圣新译300》——樱花——让一整个春夜亮起来&#xff0…

目标检测讲解

环境准备 pip install scikit-image -i https://pypi.tuna.tsinghua.edu.cn/simple图片读取&画框 from skimage import io import matplotlib.pyplot as plt import matplotlib.patches as mpss io.imread(dogs.jpg)_, ax plt.subplots(ncols1, nrows1, figsize(6, 6))…

零编程数据可视化展示:十个简易案例!

数据可视化是呈现数据内在价值的最终手段。数据可视化实例利用各种图表和图形设计手段&#xff0c;合乎逻辑地展示复杂而不直观的数据。为了让用户直观清楚地了解他们想要的数据及其比较关系&#xff0c;数据可视化实例的呈现至关重要。即时设计整理了10个数据可视化实例&#…