机器学习概述-程序员宅基地

技术标签: 机器学习  

在这里插入图片描述

一、什么是机器学习

机器学习是一种人工智能技术,通过对数据的学习和分析,让计算机系统自动提高其性能。简而言之,机器学习是一种从数据中学习规律和模式的方法,通过数据来预测、分类或者决策

在这里插入图片描述

二、机器学习的工作原理

机器学习的工作原理主要包括以下几个步骤:

  • 数据收集:首先需要收集数据并将其转化为可以计算的形式,例如数值、文本或图像等。

  • 数据预处理:数据收集后,需要对数据进行清洗、去除异常值、缺失值处理、特征选择等预处理步骤。

  • 特征工程: 是指在机器学习中对原始数据进行转换、组合和选择等处理,以提取更有用的特征或属性,以帮助机器学习算法更好地理解和处理数据。简而言之,特征工程就是对原始数据进行预处理,以提取有用信息来辅助机器学习。

  • 模型选择:根据问题的特点和数据的特征选择适合的机器学习算法和模型。

  • 模型训练(机器学习):利用已有数据对所选的机器学习模型进行训练,从而使模型能够学习数据中的规律和模式。

  • 模型评估:训练完成后,需要对模型进行评估和调整,以检查其性能和精度,并进行优化。

  • 模型应用:经过训练和优化后,机器学习模型可以用于新数据的预测、分类、聚类等任务。

    在这里插入图片描述

三、数据简介
  • 数据简介

    在数据集中一般:

    • 一行数据我们称为一个样本
    • 一列数据我们称为一个特征
    • 有些数据有目标值(标签值),有些数据没有标签值
  • 数据类型构成

    • 数据类型一:特征值+目标值(目标值是连续的和离散的)
    • 数据类型二:只有特征值,没有目标值
  • 数据分割

    • 机器学习一般的数据集会划分为两个部分:
      • 训练数据:用于训练,构建模型
      • 测试数据:在模型检验时使用,用于评估模型是否有效
    • 划分比例:
      • 训练集:70% 80% 75%
      • 测试集:30% 20% 25%
四、特征工程
  • 什么是特征工程

    是指在机器学习中对原始数据进行转换、组合和选择等处理,以提取更有用的特征或属性,以帮助机器学习算法更好地理解和处理数据。简而言之,特征工程就是对原始数据进行预处理,以提取有用信息来辅助机器学习。

  • 为什么要用到特征工程

    特征工程是机器学习中非常重要的一环,因为好的特征能够提高算法的精度和效率,甚至决定了机器学习模型的上限。因此,进行特征工程需要根据具体问题和数据特点进行灵活选择和处理,以达到最佳效果。

  • 特征工程包含的内容

    • 特征提取:从原始数据中提取特征,通常是利用数学和统计方法对数据进行转换和降维,例如主成分分析(PCA)、奇异值分解(SVD)等。
    • 特征转换(特征预处理):将提取的特征进行转换,以符合算法的需求,例如将类别特征转换为数值特征,或者对数值特征进行标准化。
    • 特征降维:指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程
    • 特征选择:根据特征的重要性和相关性等指标,选择最具有代表性的特征,以减少计算复杂度和提高算法性能。
五、机器学习算法分类
  • 监督学习

    输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出有限个离散值(称为分类)

    • 回归问题

      例如:预测房价,根据集拟合出一条连续曲线

    • 分类问题

      例如:根据肿瘤特征判断良性还是恶性,得到的是结果是“良性”或者“恶性”,是离散

  • 无监督学习

    输入数据是由输入特征值组成,没有目标值。输入数据没有被标记,也没有确定的结果,样本数据类别未知;需要根据样本间的相似性对样本集进行类别划分。

    • 有监督,无监督算法对比

    在这里插入图片描述

  • 半监督学习

    训练集同时包含有标记样本数据和未标记样本数据

    • 监督学习训练方式和半监督学习训练方式的区别:
      1. 数据量不同:监督学习需要大量有标签的数据来进行训练,而半监督学习则可以利用部分有标签数据和大量无标签数据进行训练。
      2. 模型的预测能力:监督学习的模型在处理未知数据时需要有标签的数据作为参考,而半监督学习的模型可以更好地利用未标记数据来提高预测能力。
      3. 训练时间:由于半监督学习使用了更多的数据进行训练,因此需要更长的时间来完成模型的训练。
      4. 精度:半监督学习的模型在某些情况下可以比监督学习的模型具有更好的精度,尤其是当标记数据很少的时候。
      5. 应用场景:监督学习适用于已经有标签数据的问题,例如分类和回归等问题,而半监督学习适用于数据集标签数量较少或标签数据难以获得的问题。
  • 强化学习

    实质就是make decisions问题,即自动进行决策,并且可以做连续决策。强化学习的的目标就是获得最多的累计奖励

    • 强化学习的五个元素:

      agent、action、reward、environment、observation

    • 监督学习的强化学习的对比:

      在这里插入图片描述

  • 四种学习算法的小结

    在这里插入图片描述

六、模型评估

模型评估是模型开发过程不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。

按照数据集的目标值不同,可以把模型评估分为分类模型评估和回归模型评估

  • 分类模型评估

    例如:肿瘤良性、恶性预测模型

    • 准确率:

      预测正确的数占样本总数的比例。

    • 其他评价指标:

      精确率、召回率、F1-score、AUC指标等。

  • 回归模型评估

    例如:房价预测模型

    • 均方根误差(Root Mean Squared Error,RMSE)

      RMSE是一个衡量回归模型误差率的常用公式。不过,它仅能比较误差是相同单位的模型。

    • 均方根误差公式

      在这里插入图片描述

    • 举例:

      假设有一个房价预测模型,只有五个样本,对应的

      真实值为:100,120,125,230,400

      预测值为:105,119,120,230,410

      则均方根误差求解得:
      R M S E = [ ( 105 − 100 ) 2 + ( 119 − 120 ) 2 + ( 120 − 125 ) 2 + ( 230 − 230 ) 2 + ( 410 − 400 ) 2 ] 5 2 = 5.495 RMSE=\sqrt[2]{\frac{[(105-100)^2+(119-120)^2+(120-125)^2+(230-230)^2+(410-400)^2]}{5}}=5.495 RMSE=25[(105100)2+(119120)2+(120125)2+(230230)2+(410400)2] =5.495

  • 拟合

    模型评估用于评价训练好的模型的表现效果,其表现效果大致可以分为两类:过拟合、欠拟合。

    • 欠拟合(under-fitting):模型学习的太过粗糙,在训练集中的样本数据特征关系都没有学出来。
    • 过拟合(over-fitting):所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在测试数据集中表现不佳。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Despicable_Me/article/details/130176712

智能推荐

Kotlin 解压缩_kotlin 对上传的压缩包进行分析-程序员宅基地

文章浏览阅读638次。fun unZip(zipFile: String, context: Context) { var outputStream: OutputStream? = null var inputStream: InputStream? = null try { val zf = ZipFile(zipFile) val entries = zf.entries() while (en..._kotlin 对上传的压缩包进行分析

64K方法数限制解决办法_java函数大于64k编译失败-程序员宅基地

文章浏览阅读1.9k次。随着业务逻辑越来越多,业务模块也越来越大,不可避免会遇到64K方法数的限制。最直观的表现就是编译报错:较早版本的编译系统中,错误内容如下:Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]: 65536较新版本的编译系统中,错误内容如下:trouble writing outp_java函数大于64k编译失败

案例分享——低压电力线载波通信模组(借助电源线实现远距离数据传输、宽压输入、波特率范围广、应用场景多样化)_电力载波模块csdn-程序员宅基地

文章浏览阅读2k次,点赞7次,收藏10次。物联网领域,有很多数据通信场景,因为原设备整体系统结构、运行环境等方面的限制,需求在不增加通信数据线缆的情况下实现数据的远程传输,因为特殊应用场景下考虑到环境的限制,还不能使用常规的无线通信手段,所以借助电源线缆进行传输的电力线载波技术应运而生,本次博文给大家分享的就是博主完全自主研发的低压电力线载波通信模组。_电力载波模块csdn

密码学基础_密码体制的五个要素-程序员宅基地

文章浏览阅读7.4k次。密码学基本概念 密码学(Cryptology)是结合数学、计算机科学、电子与通信等学科于一体的交叉学科,研究信息系统安全的科学。起源于保密通信技术。具体来讲,研究信息系统安全保密和认证的一门科学。 密码编码学,通过变换消息(对信息编码)使其保密的科学和艺术 密码分析学,在未知密钥的情况下从密文推_密码体制的五个要素

python支持中文路径_基于python 处理中文路径的终极解决方法-程序员宅基地

文章浏览阅读1.9k次。1 、据说python3就没有这个问题了2 、u'字符串' 代表是unicode格式的数据,路径最好写成这个格式,别直接跟字符串'字符串'这类数据相加,相加之后type就是str,这样就会存在解码失误的问题。别直接跟字符串'字符串'这类数据相加别直接跟字符串'字符串'这类数据相加别直接跟字符串'字符串'这类数据相加unicode类型别直接跟字符串'字符串'这类数据相加说四遍3 、有些读取的方式偏偏..._python 路径 中文

阿里云 B 站直播首秀,用 Serverless 搭个游戏机?-程序员宅基地

文章浏览阅读107次。最近,阿云 B 站没声音,是在憋大招!8月5日周四 19:00 是阿里云的直播首秀,给大家请来了 Forrester 评分世界第一的 Serverless 团队产品经理江昱,给大家在线...._阿里云直播b站

随便推点

AS 3.1.3连续依赖多个Module,导致访问不到Module中的类_为什么as在一个包下建了多个module,缺无法打开了-程序员宅基地

文章浏览阅读1.1k次。我好苦啊,半夜还在打代码。还出bug,狗日的。问题是这样的:我在新建的项目里,建了两个Module: fiora-ec和fiora-core。项目的依赖顺序是这样的,App依赖fiora-ec,fiora-ec又依赖于fiora-core,因为这种依赖关系,所有可以在app和fiora-ec中删除一些不必要的引入,比如这个玩意儿:com.android.support:appcompat-v7:..._为什么as在一个包下建了多个module,缺无法打开了

Magento 常用插件二-程序员宅基地

文章浏览阅读1.4k次。1. SMTP 插件 URL:http://www.magentocommerce.com/magento-connect/TurboSMTP/extension/4415/aschroder_turbosmtp KEY:magento-community/Aschroder_TurboSmtp 2. Email Template Adapter..._magento extension pour ricardo.ch

【连载】【FPGA黑金开发板】Verilog HDL那些事儿--低级建模的资源(六)-程序员宅基地

文章浏览阅读161次。声明:本文为原创作品,版权归akuei2及黑金动力社区共同所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 2.5 低级建模的资源 低级建模有讲求资源的分配,目的是使用“图形”来提高建模的解读性。 图上是低级建模最基本的建模框图,估计大家在实验一和实验二已经眼熟过。功能模块(低级功能模块)是一个水平的长方形,而控制模块(低级控制模块)是矩形。组..._cyclone ep2c8q208c黑金开发板

R语言实用案例分析-1_r语言案例分析-程序员宅基地

文章浏览阅读2.2w次,点赞10次,收藏63次。在日常生活和实际应用当中,我们经常会用到统计方面的知识,比如求最大值,求平均值等等。R语言是一门统计学语言,他可以方便的完成统计相关的计算,下面我们就来看一个相关案例。1. 背景最近西安交大大数据专业二班,开设了Java和大数据技术课程,班级人数共100人。2. 需求通过R语言完成该100位同学学号的生成,同时使用R语言模拟生成Java和大数据技术成绩,成绩满分为100,需要满足正_r语言案例分析

Java知识体系总结(2024版),这一次带你搞懂Spring代理创建过程-程序员宅基地

文章浏览阅读639次,点赞11次,收藏26次。虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。一个人可以走的很快,但一群人才能走的更远。

车辆动力学及在Unity、UE4中的实现_unity 车辆动力学模型-程序员宅基地

文章浏览阅读3.9k次,点赞9次,收藏53次。受力分析直线行驶时的车轮受力如下:水平方向上,所受合力为:F=Ft+Fw+FfF=F_t+F_w+F_fF=Ft​+Fw​+Ff​其中,FtF_tFt​为牵引力,FwF_wFw​为空气阻力,FfF_fFf​为滚动阻力,下面我们将逐个介绍。驱动力先来说扭矩,扭矩是使物体发生旋转的一个特殊力矩,等于力和力臂的乘积,单位为N∙mN∙mN∙m:设驱动轴的扭矩为TtT_tTt​,车轮半径为rrr,那么牵引力:Ft=Tt⁄rF_t=T_t⁄rFt​=Tt​⁄r如何求得驱动轴扭矩TtT_tTt​呢?_unity 车辆动力学模型