3. ML机器学习

news/2025/1/10 19:57:44/

     

1.人工智能机器学习的关系

       机器学习人工智能的一个重要分支,是人工智能的一个子集。它无需显式编程,而是通过数据和算法使机器能够自动学习和改进,从而实现智能行为。机器学习依赖于算法来识别数据中的模式,并通过这些模式做出预测或决策。

       机器学习是实现人工智能的一种手段,但AI不仅仅局限于机器学习,还包括许多其他方法和技术,比如专家系统、规则推理、搜索算法、自然语言处理等多种技术。

2.机器学习的几种技术

1. 监督学习(Supervised Learning)
  • 定义:监督学习是一种从标注数据中学习的方式。在监督学习中,训练数据包括输入和对应的正确输出标签,算法通过学习这些数据之间的关系来进行预测。监督学习的任务主要是分类和回归(预测)。
  • 应用场景
    • 分类问题:例如,垃圾邮件分类(将邮件分为“垃圾邮件”和“非垃圾邮件”)。
    • 回归问题:例如,房价预测(根据特征如面积、位置等预测房屋价格)。
  • 常见算法
    • 线性回归(Linear Regression)
    • 逻辑回归(Logistic Regression)
    • 支持向量机(SVM)
    • 决策树(Decision Trees)
    • 随机森林(Random Forests)
    • k最近邻(K-Nearest Neighbors, KNN)
    • 神经网络(Neural Networks)
2. 无监督学习(Unsupervised Learning)
  • 定义:无监督学习是一种学习方式,其中训练数据没有标签,模型只能根据输入数据的特征发现隐藏的结构或规律。
  • 应用场景
    • 聚类问题:例如,顾客分群(将顾客按照购买行为或兴趣分为不同的群体)。
    • 降维问题:例如,特征选择和数据压缩(通过降维减少数据的复杂性,如主成分分析 PCA)。
  • 常见算法
    • K均值聚类(K-Means Clustering)
    • 层次聚类(Hierarchical Clustering)
    • DBSCAN
    • 自编码器(Autoencoders)
    • 主成分分析(PCA)
    • 独立成分分析(ICA)
3. 半监督学习(Semi-supervised Learning)
  • 定义:半监督学习介于监督学习和无监督学习之间。它使用少量标注数据和大量未标注数据来训练模型,来提高学习的准确性。通常,标注数据较难获得或成本较高,而未标注数据较为容易获得。
  • 应用场景
    • 图像分类:当手动标注每张图片成本很高时,可以用少量标注数据配合大量未标注数据进行训练。
    • 文本分类:用于一些大型数据集,其中标注样本很少,但未标注数据非常丰富。
  • 常见算法
    • 基于生成模型的算法(例如,生成对抗网络 GANs)
    • 图模型(如图卷积网络 GCN)
    • 自训练(Self-training)
    • 协同训练(Co-training)
4. 强化学习(Reinforcement Learning, RL)
  • 定义:强化学习是一种通过与环境交互、试错学习的方式来让智能体(Agent)学习如何采取行动并获得最大回报的技术。在这种学习中,模型并不是通过标注数据来学习,而是根据环境给予的反馈信号(奖励或惩罚)来优化其行为策略,最大化长期回报。适用于动态决策或控制。
  • 应用场景
    • 游戏智能:例如,AlphaGo通过强化学习与自己对弈,学会了围棋的高阶技巧。
    • 自动驾驶:自动驾驶系统通过与环境互动,不断学习如何做出最优驾驶决策。
    • 机器人控制:例如,机器人通过不断尝试、失败和优化来学习如何完成任务(如抓取物体)。
  • 常见算法
    • Q学习(Q-learning)
    • 深度Q网络(Deep Q-Network, DQN)
    • 策略梯度方法(Policy Gradient)
    • Proximal Policy Optimization(PPO)
    • Actor-Critic方法
5. 自监督学习(Self-supervised Learning)
  • 定义:自监督学习是一种特殊形式的无监督学习,其中模型通过数据本身的部分信息来生成标签,从而进行训练,获取对数据的更深入理解。自监督学习的目标是通过创造预任务(预训练任务)让模型学习有用的表示。
  • 应用场景
    • 自然语言处理:例如,BERT和GPT等预训练语言模型通过自监督学习从大量文本中学习语言表示。
    • 图像处理:例如,使用图像的部分信息预测其他部分(例如,通过遮挡部分图像来预测被遮挡的区域)。
  • 常见算法
    • BERT(Bidirectional Encoder Representations from Transformers)
    • GPT(Generative Pre-trained Transformer)
    • SimCLR(Simple Contrastive Learning)
6. 迁移学习(Transfer Learning)
  • 定义:迁移学习是一种利用已经在其他任务或领域上训练好的模型(或者部分模型参数)来加速当前任务学习的方法。它特别适用于目标任务的数据较少的情况下。
  • 应用场景
    • 图像分类:例如,使用在ImageNet上预训练的模型(如ResNet或VGG),然后通过迁移学习应用于医学图像分类。
    • 自然语言处理:例如,BERT和GPT等预训练语言模型可迁移到不同的文本分类任务上。
  • 常见算法
    • Fine-tuning(微调)
    • 领域自适应(Domain Adaptation)

  7. 深度学习(Deep Learning)
  • 定义:深度学习是一种基于多层神经网络的机器学习方法,具有自动从数据中学习特征的能力。深度学习通常涉及大规模的数据和复杂的网络结构,能够在图像、语音、文本等领域表现出强大的性能。
  • 应用场景
    • 计算机视觉:如图像分类、目标检测、人脸识别等。
    • 自然语言处理:如机器翻译、情感分析、语音识别等。
    • 语音识别与合成:如语音助手、自动语音转写等。
  • 常见算法和架构
    • 卷积神经网络(CNN)
    • 循环神经网络(RNN)
    • 长短期记忆网络(LSTM)
    • 生成对抗网络(GAN)
    • 变分自编码器(VAE)
    • Transformer和BERT、GPT等预训练语言模型

       以上这些是常见的机器学习的技术,但随着技术的发展,还有很多新的技术在不断涌现。对于复杂应用,一般是几种技术综合使用。


http://www.ppmy.cn/news/1562047.html

相关文章

Android adb shell GPU信息

Android adb shell GPU信息 先 adb shell 进入控制台。 然后: dumpsys | grep GLES Android adb shell命令捕获systemtrace_android 抓trace-CSDN博客文章浏览阅读2.5k次,点赞2次,收藏8次。本文介绍了如何使用adbshell命令配合perfetto工…

【Linux】揭开套接字编程的神秘面纱(上)

文章目录 👉预备知识👈源IP地址和目的IP地址端口号PID和端口号的区别套接字认识UDP协议认识TCP协议网络字节序 👉套接字编程👈套接字的分类socket常见API 👉UDP服务器👈echo服务器UdpServer.hppUdpServer.c…

nginx http反向代理

系统:Ubuntu_24.0.4 1、安装nginx sudo apt-get update sudo apt-get install nginx sudo systemctl start nginx 2、配置nginx.conf文件 /etc/nginx/nginx.conf,但可以在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件,并在…

Springboot Bean创建流程、三种Bean注入方式(构造器注入、字段注入、setter注入)、循坏依赖问题

文章目录 1 Bean 创建流程1.1 Bean的扫描注册1.2 创建Bean的顺序 2 三种Bean注入方式2.1 构造器注入 | Constructor Injection(推荐)2.2 字段注入 | Field Injection(常用)2.3 方法注入 | Setter Injection2.4 三种方式注入顺序 3…

【leetcode】摩尔投票算法

原题:169. 多数元素 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3…

ARM主板定制流程与成本

在当今快速发展的科技环境中,定制化的硬件解决方案越来越受到企业和开发者的青睐。ARM架构作为一种高效能、低功耗的处理器架构,广泛应用于嵌入式系统、移动设备和物联网设备等领域。为了满足特定应用需求,企业往往需要对ARM主板进行定制。本…

当你买了一台Linux云主机,应该如何测试主机性能?

现在这个时代云主机露脸的次数越来越多,距离我在阿里云开通第一台云主机马上就满10年了。当然,我先还还有一些云主机在稳定运行(我用100块钱把物理服务器放到了公网,省了几万块!),除了在香港的系…

添加到 PATH 环境变量中

命令解释 # 将命令中的<CLI_PATH>替换为您aliyun文件的所在目录。 echo export PATH$PATH:<CLI_PATH> >> ~/.bash_profile echo export PATH$PATH:/data2/ljsang/aliyun/aliyun >> ~/.bash_profileexport PATH$PATH:/data2/ljsang/aliyun/aliyun&…