【零基础学机器学习 1】什么是机器学习?

news2024/9/23 11:25:20

机器学习的社会应用

1. 金融风控

机器学习在金融风控方面的应用非常广泛,可以用于预测借款人的信用风险、欺诈行为等。通过收集大量的历史数据,构建机器学习模型,可以对借款人的信用风险进行预测,从而帮助金融机构降低风险。

2. 医疗诊断

机器学习在医疗诊断方面的应用也非常广泛。例如,通过对大量的医学图像进行训练,可以构建出能够诊断疾病的机器学习模型,帮助医生进行更加准确的诊断。

3. 智能客服

机器学习在智能客服方面的应用也非常广泛。通过对大量的客户数据进行训练,可以构建出能够自动回答客户问题的机器学习模型,从而提高客户满意度,降低客服成本。

4. 智能推荐

机器学习在智能推荐方面的应用也非常广泛。例如,通过对用户的历史行为数据进行分析,可以构建出能够预测用户喜好的机器学习模型,从而向用户推荐更加符合其兴趣的商品或服务。

5. 交通管理

机器学习在交通管理方面的应用也非常广泛。例如,通过对交通流量、车辆速度等数据进行分析,可以构建出能够预测交通拥堵情况的机器学习模型,从而帮助交通管理部门及时采取措施,减少交通拥堵。

什么是机器学习

机器学习是人工智能的一种应用,它使系统能够自主学习并从经验中提高,而不需要外部编程。如果你的电脑具有机器学习功能,它可能能够为你玩游戏中的困难部分或解决复杂的数学方程。

机器学习的工作原理

考虑一个包含各种水果照片的输入数据系统。你想让系统根据不同类型的水果对数据进行分组。

首先,系统会分析输入数据。接下来,它会尝试找到模式,比如形状、大小和颜色。基于这些模式,系统将尝试预测不同类型的水果并将它们分开。最后,它会跟踪整个过程中做出的所有决策,以确保它正在学习。下一次你要求同一系统预测和分离不同类型的水果时,它就不必再次经历整个过程。这就是机器学习的工作原理。

学习机器学习 (ML) 的先决条件

  • 基本的编程语言知识,如Python、R、Java、JavaScript等
  • 中级的统计学和概率知识
  • 基本的线性代数知识。在线性回归模型中,通过所有数据点绘制一条线,并使用该线计算新值。
  • 理解微积分
  • 知道如何清洗和结构化原始数据以达到所需的格式,以减少决策所需的时间。

机器学习分类

  • 监督学习:在训练机器独立工作时,人监督机器的学习过程。此过程需要标记的训练数据。
  • 无监督学习:有训练数据,但不会被标记。
  • 强化学习:系统自主学习。

监督学习

监督学习是一种机器学习方法,其目的是通过已知的输入和输出数据来训练模型,以便能够预测新的未知数据的输出。在监督学习中,算法会从给定的训练数据中学习规律和模式,并将这些规律应用于新的数据。监督学习的常见应用包括分类、回归和预测。在分类问题中,算法会将输入数据分为不同的类别,而在回归问题中,算法会预测一个连续的输出值。

举一个具体的例子:

比如你想让计算机学习区分猫和狗的图片。你可以提供一个数据集,其中包含若干张猫的图片和若干张狗的图片。然后,你需要为每张图片打上标签,让计算机知道哪些是猫的图片,哪些是狗的图片。计算机会根据这些标签来学习如何区分猫和狗的图片。最后,你可以提供一组新的图片,让计算机自己判断哪些是猫的图片,哪些是狗的图片。这就是监督学习的过程。

这就是监督学习的工作原理。

无监督学习

无监督学习是一种机器学习方法,其中模型使用未标记的数据进行训练,没有给出任何预测变量或标签。在无监督学习中,算法被赋予任务来发现数据中的模式和结构,以便对新数据进行分类、聚类或降维等操作。这种方法通常用于探索性数据分析和数据预处理,以及在没有足够标记数据的情况下进行模型训练。无监督学习的例子包括聚类、异常检测、关联规则挖掘和主成分分析等。

假设我们有一个包含客户购买历史记录的数据集。我们不知道这些客户属于哪个人群,也不知道他们的购买偏好。我们可以使用无监督学习算法,如K均值聚类,将客户分为不同的群体,每个群体代表一组具有相似购买行为的客户。

强化学习

强化学习是一种机器学习的方法,通过试错来学习如何在一个环境中采取行动,以最大化某种奖励信号的累积。强化学习的目标是通过最大化累积的奖励信号来学习如何在一个环境中采取行动。

一个简单的例子是训练一个机器人走迷宫。机器人需要在迷宫中寻找出口,并且需要尽可能快地到达出口。在这个例子中,机器人的行动是通过试错来学习的。当机器人采取一个行动时,它会收到一个奖励信号,如果它走向了出口,那么它会获得一个正的奖励信号,否则它会获得一个负的奖励信号。机器人会根据这些奖励信号来调整它的行动,以便在下一次尝试时做出更好的决策。通过不断的试错,机器人最终会学会如何快速而准确地走出迷宫。

再例如;你提供了一个数据集给机器,要求它识别特定类型的水果(苹果)。机器错误地告诉你它是芒果。你向机器提供了反馈,告诉它它的答案是错误的,它应该是苹果。机器从反馈中学习并记住了正确的答案。下一次你问同样的问题时,机器能够正确地回答,告诉你它是苹果。这是一种加强学习的反应。

监督学习和无监督学习之间的比较

监督学习和无监督学习在几个方面有所不同:

  • 监督学习中使用的数据是标记的。在上面展示的例子中,你提供苹果的照片并让系统知道这是一个苹果。这被称为标记数据。系统从标记数据中学习并进行未来的预测。另一方面,无监督学习不需要任何标记的数据,因为它的工作是在输入数据中寻找模式并组织它。

  • 在监督学习的情况下,你会得到反馈。也就是说,一旦你接收到输出,系统会记住它并用于下一次操作。无监督学习不会发生这种情况。

  • 监督学习主要用于预测数据,而无监督学习用于查找数据中的隐藏结构。

机器学习的常用算法

分类

第一种方法是分类,它属于监督学习。当你要寻找的输出是“是”或“否”,或者是“a”或“b”或“true”或“false”形式时,就可以使用分类。

例如,如果一个店主想要预测一个特定的顾客是否会回到他的店里,他将使用分类算法。分类算法的例子包括:

  • 决策树
  • 朴素贝叶斯
  • 随机森林
  • 逻辑回归
  • K近邻(KNN)

回归

回归方法用于预测数值型数据。如果商家想要根据需求预测产品的价格,他会选择回归。

聚类

聚类是一种无监督学习方法,用于组织数据。Flipkart、Amazon和其他在线零售商使用聚类来进行推荐系统。搜索引擎也使用聚类来分析你的搜索历史,以确定你的偏好并为你提供最佳搜索结果。其中一个聚类算法是K-means。

4 种最常见的机器学习算法

K-最近邻算法

K-最近邻算法是一种分类算法,其中相似的数据点形成聚类,这些聚类用于识别新的、未知的对象。在下面的图像中,有三个不同的聚类:蓝色A、红色C和绿色B。

假设有一个新的、未知的数据点P,它将根据最接近它或最相似的聚类进行分类。KNN中的K是我们希望将未知数据与其进行比较的最近邻数据点的数量。考虑下面的例子:

image-20230506202529617

实例

下图中有三个聚类:足球、网球和篮球。从图中我们可以推断出:

  • 足球的成本很高,耐用性很低;

  • 网球的耐用性很高,但成本很低;

  • 篮球的成本和耐用性都很高。

    image-20230506204257340

考虑一个未知的数据点:一个黑点,它可以是球的一种分类。

image-20230506204508350

我们尝试使用KNN对其进行分类。如果取k=5,画一个圆圈,把未知数据点放在中心,确保圆圈内有五个球。

image-20230506204526951

在画圆圈后,圆圈内有一个足球、一个篮球和三个网球。由于圆圈内网球的数量最多,该球将被分类为网球。这就是K-最近邻分类的方法。

线性回归

线性回归是一种监督学习算法,用于建立变量之间的线性关系,其中一个变量是依赖变量,另一个是独立变量。例如,如果要根据一个人的身高预测他的体重,体重将是依赖变量,身高将是独立变量。

下面是一个示例:

考虑一个显示人的身高和体重之间关系的图表。y轴表示身高,x轴表示体重。绿色点是各种数据点,“d”是均方误差,它是从线到数据点的垂直距离,或误差值。这个误差描述了预测值与原始值的差异有多大。

image-20230506205824308

现在先忽略蓝线,画一条新的回归线。可以看到所有数据点到新线的距离。如果把新线作为回归线,预测误差将会很高。在这种情况下,模型将无法给出准确的预测。

image-20230506210003951

让我们用另一条回归线来演示同样的情况,如下所示。即使在这种情况下,数据点到线的垂直距离也非常高,这意味着误差值仍然很高。这个模型也无法给出准确的预测。

image-20230506210035022

最后,你画了一条映射数据点到线距离的线(蓝线),相对于你画的其他两条线,这个距离要小得多。蓝色回归线的“d”值将会更小,因此更准确。如果你给x轴分配任何值,相应的y轴值将是你的预测。鉴于“d”非常低,你的预测应该是准确的。

这就是回归的工作原理;你画出一条回归线,使“d”值最小,最终给出准确的预测。

决策树

决策树是一种人们可以理解的算法,因为这通常是我们自己做决策的方式。它使用分支方法来理解问题,并根据条件做出决策。

decision

想象一下坐在家里,想去游泳。你检查外面是否晴朗:这是你的第一个条件。如果这个条件的答案是“是”,你就去游泳。如果不晴朗,下一个问题你会问,“下雨了吗?”这是第二个条件。如果下雨了,你就取消计划呆在室内。否则,你会出去散步。这是最终节点。

这就是决策树算法的工作方式。你可能每天都使用这种方法根据多个条件做出决策。

朴素贝叶斯

朴素贝叶斯算法是一种基于贝叶斯定理和特征条件独立假设的分类算法。在朴素贝叶斯算法中,将待分类的数据看作一个向量,对每个特征进行概率估计,然后利用贝叶斯定理计算出该向量属于每个类别的概率,最终将该向量归为概率最大的那个类别。朴素贝叶斯算法具有简单、高效、易于实现等优点。

朴素贝叶斯主要用于基于大型数据集进行预测的情况。它使用条件概率——已经发生了另一个事件“B”,事件“A”发生的概率。

过滤垃圾邮件

这个算法最常用于在你的电子邮件帐户中过滤垃圾邮件。

当你收到一封电子邮件时,模型会通过你的旧垃圾邮件记录。然后,它使用贝叶斯定理来预测即将到来的电子邮件是否是垃圾邮件。

P(C / A)是事件“C”发生时“A”已经发生的概率。

P(A / C)是事件“C”已经发生时“A”发生的概率。

P(C)是事件“C”发生的概率。

P(A)是事件“A”发生的概率。

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

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

相关文章

关于ADC的笔记1

ADC,全称Anlog-to-Digital Converter,模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件,我们能通过ADC将外界的电压值读入我们的单片机中. 常见的ADC有两种 1.并联比较型: 它的优点是转换速度最快&#x…

[MYSQL / Mariadb]数据库学习-数据类型

数据库学习-数据类型 数据类型字符类型定长char例:定义表结构的定长: 变长 varchar例:创建表,定义变长练习字符类型 数值类型整数(tinyint, smallint, mediumint, int, bigint, unsigned)以mysql> desc mysql.user; 为例例&…

Leetcode697. 数组的度

Every day a leetcode 题目来源&#xff1a;697. 数组的度 解法1&#xff1a;哈希 我们这样构建哈希表 unordered_map<int, vector> umap&#xff1a; key&#xff1a;数组元素 nums[i]value&#xff1a;三元组[count, first, last]&#xff0c;分别代表元素 nums[i]…

Spring03--Spring基于注解的AOP、Spring事务

Spring基于注解的AOP 一、基于注解的AOP介绍 AOP注解方式 和 XML方式完成的功能是一样&#xff0c;只是采用方式不同而已。将原有的XML方式使用注解注意替代 二、环境搭建 使用Spring02中Spring基于配置文件的AOP的环境搭建 三、使用注解替换XML的配置步骤 1、通知类使用…

边缘化你必须知道的一件事!(FEJ知识点总结)

vins和g2o边缘化的异同&#xff1a;(已经做到ppt里面了&#xff0c;简单回顾一下) 1.《视觉slam14讲》中提及的边缘化(G2O边缘化)是在计算求解过程中&#xff0c;先消去路标点变量&#xff0c;实现先求解相机位姿&#xff0c;然后再利用求解出来的相机位姿反过来计算路标点的过…

qt creator添加build步骤删除某个文件

参考&#xff1a;https://blog.csdn.net/weixin_44436546/article/details/113587115 1. windows下配置&#xff1a; 添加build步骤&#xff1b;在commad栏输入cmd,会弹出C:\Windows\system32\cmd.exe&#xff1b;在Arguments栏输入/c release\upgrade.o&#xff1b;Working …

【数据结构】C语言实现双向链表(带头结点、循环)

C语言实现双向链表&#xff08;带头结点、循环&#xff09; 一、带头结点的循环双向链表二、结点与接口定义三、实现3.1 申请节点3.2 初始化3.3 打印3.4 尾插3.5 头插3.6 尾删3.7 判断链表为空断言3.8 头删3.9 查找find3.10 插入insert-在pos之前插入3.11 头插尾插复用insert3.…

机器学习算法实战(scikit-learn版本)---线性回归

目录 文章目标&#xff1a; 1&#xff0c;导入库 2&#xff0c;导入数据集 3&#xff0c;缩放/归一化训练数据 4,创建并拟合回归模型 5,查看参数 6,预测 7&#xff0c;可视化 有一个开源的、商业上可用的机器学习工具包&#xff0c;叫做[scikit-learn](https://scik…

阿里、京东等大厂年薪50w的测试都是什么水平?

各位做测试的朋友&#xff0c;但凡经历过几次面试&#xff0c;那么你一定曾被问到过以下问题&#xff1a; 1、在Linux环境下&#xff0c;怎么执行web自动化测试&#xff1f; 2、Shell如何&#xff0c;Docker熟悉吗&#xff1f; 3、全链路的压测实操过吗&#xff0c;如何推进与开…

【Linux】基本权限

&#x1f601;作者&#xff1a;日出等日落 &#x1f514;专栏&#xff1a;Linux 任何值得到达的地方&#xff0c;都没有捷径。 目录 Linux权限: 权限的概念&#xff1a; Linux上面的用户分类&#xff1a; Linux权限管理 文件访问者的分类&#xff08;人&#xff09; 文件…

小心白蛇!PyPI仓库被持续投放White Snake后门组件

背景 墨菲安全实验室在持续监测开源软件仓库中的投毒行为&#xff0c;4 月 14 日起陆续发现至少 41 个包含白蛇&#xff08;White Snake&#xff09;后门的 Python 包被发布到 PyPI 仓库&#xff0c;目前相关的后门包仍在持续发布。 事件简述 白蛇 &#xff08;WhiteSnake&a…

三种方法教你让模糊照片秒变高清图

现在随着数字相机和智能手机的普及&#xff0c;我们拍摄的照片数量越来越多&#xff0c;但是有些照片可能因为环境或技术等原因导致模糊不清&#xff0c;这时候我们就需要使用一些软件或工具来让照片变得清晰&#xff0c;以满足我们的需求。 下面介绍三种常用的照片变清晰的方…

专科生学习云计算的就业前景如何?

作为专科学历学习云计算&#xff0c;就业前景肯定是有的。因为目前开设云计算这门专业主要也是专科院校&#xff0c;目前入行的学历要求也是专科为起点&#xff0c;更加侧重技术技能水平&#xff0c;技术过关了才能找到合适的工作。 云计算作为一种新兴的IT技术方向&#xff0…

AI别来搅局,chatGPT的世界不懂低代码

ChatGPT单月访问量再创新高 根据SimilarWeb统计&#xff0c;ChatGPT上月全球访问量17.6亿次&#xff0c;已超越必应、鸭鸭走DuckDuckGo等其他国际搜索引擎&#xff0c;并达到谷歌的2%&#xff0c;百度的60%。 这会&#xff0c;程序员失业的段子又得再来一遍了&#xff1a; 拖…

Qt+WebRTC学习笔记(七)ubuntu22.04下搭建coturn(STUN/TURN)

前言 因工作原因&#xff0c;很长时间没更新相关文档了&#xff0c;笔者之前测试时&#xff0c;一直使用示例自带的公网中转服务器。考虑到后期项目需要&#xff0c;笔者在线搭建一个coturn服务器测试&#xff0c;供有需要的小伙伴使用 一、安装coturn 若需要最新版本的cotu…

Linux修改文件权限

目录 1、常用操作 2、文件属性 3、chmod命令详解 1.修改文件属主,也可以修改文件属组 2.修改文件权限 4.chgrp命令详解 1、常用操作 查看权限操作命令:# ls -l 在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限&#xff1a; chown (change ownerp)…

[python] Python类型提示指北

Python3.5 版本引入了类型提示&#xff08;Type Hints&#xff09;&#xff0c;它允许开发者在代码中显式地声明变量、函数、方法等的类型信息。这种类型声明不会影响 Python 解释器的运行&#xff0c;但可以让 IDE 和静态分析工具更好地理解代码&#xff0c;同时提高代码的可读…

《Netty》从零开始学netty源码(五十六)之MessageSizeEstimator

MessageSizeEstimator 在channel的配置类中有一个属性msgSizeEstimator&#xff0c;它的功能就是用来预估消息的大小&#xff0c;它的赋值过程如下&#xff1a; 接口MessageSizeEstimator只有一个方法newHandle()&#xff0c;它返回的接口handle是MessageSizeEstimator的内部类…

SpringBoot基础篇1(搭建环境+基础配置)

一、SpingBoot入门案例 SpringBoot是用来简化Spring应用的初始搭建以及开发过程。 先快速搭建一个SpringBoot&#xff1a; 创建一个空project&#xff0c;再创建SpringBoot模块。 点击Create&#xff0c;出现以下页面配置成功 创建一个控制器测试一下&#xff1a; RestCo…

Centos8搭建SMB服务

这里以Centos8为例&#xff0c;搭建简易的SMB服务。虚拟机配置&#xff1a;内存8G、存储64G、CPU单核四线程、网络NAT模式跳过虚拟机与系统配置部分&#xff0c;不清楚虚拟机配置以及创建的请查阅其他文档此文章只用于练习用&#xff0c;商业和个人用可以见解Truenas系统 更新…