Machine Learning Specialization 学习笔记(1)

news2024/12/21 20:04:15

文章目录

  • 前言
  • 一、监督学习
  • 二、无监督学习
  • 三、一些基本概念
    • 线性回归模型
      • 简单线性回归
      • 多元线性回归
      • 模型训练
      • 模型评估
      • 应用
    • 损失函数 (cost function)
    • 梯度下降 (gradient descent)
    • 多类特征(multiple features)
    • 特征缩放(feature scaling)


前言

博客仅记录个人学习进度和一些查缺补漏。
学习内容:BV1Bq421A74G


一、监督学习

-Supervised Learning (rapid advacements used most in real-world applications)
监督学习是机器学习中的一种常见方法,它使用标记的训练数据来训练模型,以便模型能够预测或决定未见过数据的标签。在监督学习中,每个训练样本都有一个与之相关的输出标签,模型的目标是学习输入数据和输出标签之间的关系。以下是监督学习的一些关键特点和常见任务:

  1. 分类:预测离散标签的任务。例如,根据电子邮件的内容判断其是否为垃圾邮件,或者根据图像识别图像中的对象。. 在这里插入图片描述

  2. 回归:预测连续值的任务。例如,根据房屋的特征预测其价格,或者根据病人的医疗记录预测其住院时间。 在这里插入图片描述

  3. 标记:在文本、图像或视频数据中识别和分类实体或对象。例如,命名实体识别(NER)可以识别文本中的人名、地点和组织名。

  4. 排序:预测数据点的相对顺序。例如,搜索引擎中的网页排名。

  5. 多任务学习:同时学习多个相关任务,以提高模型的泛化能力。

监督学习的过程通常包括以下步骤:

  1. 数据收集:收集带有标签的数据集。

  2. 数据预处理:清洗数据,处理缺失值,进行特征工程等。

  3. 选择模型:根据问题类型选择合适的机器学习算法。

  4. 训练模型:使用训练数据集来训练模型。

  5. 评估模型:使用验证集或测试集来评估模型的性能。

  6. 调优模型:通过调整模型参数或使用更复杂的模型来提高性能。

  7. 部署模型:将训练好的模型部署到生产环境中,以对新数据进行预测。

监督学习算法的例子包括:

  • 决策树:通过树状图结构进行决策。
  • 支持向量机(SVM):在高维空间中寻找最优分割超平面。
  • 随机森林:集成多个决策树以提高预测准确性。
  • 梯度提升机(GBM):集成多个弱预测模型以提高预测准确性。
  • 神经网络:模仿人脑的神经元网络,可以用于复杂的模式识别任务。
  • 线性回归:预测连续值,模型输出是输入特征的线性组合。
  • 逻辑回归:用于二分类问题,尽管名字中有“回归”,但它是一个分类算法。

监督学习在许多领域都有应用,如金融、医疗、自动驾驶、语音识别等。

二、无监督学习

-Unsupervised Learning
无监督学习是机器学习中的一种方法,它与监督学习相对。在无监督学习中,训练数据不带有标签,算法需要自行发现数据中的结构和模式。

在这里插入图片描述

无监督学习通常用于以下几类任务:

  1. 聚类:将数据集中的样本根据相似性分组,使得同一组内的样本相似度高,不同组之间的样本相似度低。常见的聚类算法包括K-means、层次聚类、DBSCAN等。
    在这里插入图片描述

  2. 降维:减少数据的维度,同时尽可能保留原始数据的重要信息。这有助于去除噪声和冗余信息,提高数据处理的效率。常用的降维技术包括主成分分析(PCA)、线性判别分析(LDA)、t-SNE等。

  3. 关联规则学习:在大规模数据集中寻找变量之间的有趣关系。例如,在市场篮子分析中,可以发现顾客购买某些商品时也倾向于购买其他特定商品。Apriori算法和FP-Growth算法是这类任务中常用的方法。

  4. 异常检测:识别数据集中的异常或不寻常的模式。这对于信用卡欺诈检测、网络安全等领域非常重要。

  5. 密度估计:估计输入数据的概率分布,这在概率建模和生成模型中非常有用。

  6. 生成模型:学习数据的生成过程,以便能够生成新的数据实例。例如,自编码器和生成对抗网络(GANs)可以用于生成新的图像、文本或其他类型的数据。

无监督学习在数据探索和发现隐藏信息方面非常有用,尤其是在数据集很大且难以手动标注的情况下。

三、一些基本概念

线性回归模型

线性回归是监督学习中的一种基本且广泛使用的方法,用于预测连续数值。它假设输入变量(自变量)和输出变量(因变量)之间存在线性关系。线性回归模型可以是简单线性回归(一个自变量)或多元线性回归(多个自变量)。
和分类的区别在于,分类只会输出离散的有限的可能输出,而回归问题中,可能会输出无限范围的数值。
在这里插入图片描述
在这里插入图片描述

简单线性回归

在这里插入图片描述

多元线性回归

在这里插入图片描述

模型训练

线性回归模型的训练涉及找到最佳参数β 值,使得模型预测值与实际值之间的差异最小。这通常通过最小化损失函数来实现,最常用的损失函数是均方误差(MSE):
在这里插入图片描述

模型评估

评估线性回归模型的性能通常使用以下指标:

  • 均方误差(MSE):预测值与实际值差的平方的平均值。
  • 均方根误差(RMSE):MSE的平方根。
  • 决定系数(R²):表示模型解释的变异量占总变异量的比例。

应用

线性回归在许多领域都有应用,包括:

  • 经济预测:预测经济指标,如GDP增长率。
  • 金融市场分析:预测股票价格或市场趋势。
  • 医疗研究:预测疾病的发展或患者的生存时间。
  • 工程问题:预测材料的强度或机械的性能。

线性回归模型简单、直观,易于理解和实现,是许多数据分析和预测任务的起点。然而,它也有局限性,比如不能很好地处理非线性关系,对异常值敏感等。在面对更复杂的数据关系时,可能需要考虑使用更高级的模型。

损失函数 (cost function)

在机器学习中,代价函数(Cost Function)或损失函数(Loss Function)是用来衡量模型预测值与实际值之间差异的函数。它是一个非常重要的概念,因为它指导了模型的训练过程。通过最小化代价函数,模型可以学习到数据中的模式,并做出更准确的预测。

以下是一些常见的代价函数:

  1. 均方误差(Mean Squared Error, MSE)
    在这里插入图片描述
    在这里插入图片描述
    额外除2是为了让后面的计算结果更整洁

  2. 均方根误差(Root Mean Squared Error, RMSE)
    在这里插入图片描述

  3. 平均绝对误差(Mean Absolute Error, MAE)
    在这里插入图片描述

  4. 交叉熵损失(Cross-Entropy Loss)
    在这里插入图片描述

  5. 对数损失(Log Loss)

    • 与交叉熵损失相同,通常用于评估分类模型的性能。
  6. 0-1损失(0-1 Loss)
    在这里插入图片描述

  7. Hinge Loss
    在这里插入图片描述

  8. 自定义代价函数

    • 在某些特定问题中,可能需要根据问题的特性设计自定义的代价函数。

代价函数的选择取决于问题类型、数据特性和模型目标。在训练过程中,通过优化算法(如梯度下降)不断调整模型参数,以最小化代价函数的值,从而提高模型的预测性能。

梯度下降 (gradient descent)

梯度下降(Gradient Descent)是机器学习和优化算法中用来寻找函数局部最小值的一种迭代方法。它主要用于训练模型,通过优化目标函数来调整模型参数。
在这里插入图片描述

在这里插入图片描述

梯度下降算法的基本思想是:

  1. 初始化:随机选择一个参数的初始值。
  2. 计算梯度:计算目标函数关于每个参数的梯度(即导数),梯度指示了函数增长最快的方向。
  3. 更新参数:按照梯度的反方向更新参数,因为反方向是函数下降最快的方向。更新的步长由学习率(learning rate)决定。
  4. 迭代:重复步骤2和3,直到满足某个停止条件,比如梯度足够小、达到预设的迭代次数或目标函数值的改善小于某个阈值。

梯度下降算法有几种变体,包括:

  • 批量梯度下降(Batch Gradient Descent):每次迭代使用全部数据来计算梯度和更新参数。
  • 随机梯度下降(Stochastic Gradient Descent, SGD):每次迭代随机选择一个样本来更新参数,这种方法可以加快收敛速度,但可能不如批量梯度下降稳定。
  • 小批量梯度下降(Mini-batch Gradient Descent):介于批量和随机梯度下降之间,每次迭代使用一小批数据来更新参数。

梯度下降算法的关键点包括:

  • 学习率:学习率决定了每次迭代参数更新的幅度,如果太大可能会导致算法在最小值附近震荡,太小则收敛速度慢。
    在这里插入图片描述
    学习率的选择:
    在这里插入图片描述
    注意当损失函数增加的时候,也可能在提示学习率应该为负数
    在这里插入图片描述‘’
    一些常用的学习率:
    在这里插入图片描述
    在这里插入图片描述

  • 收敛性:梯度下降算法可能不会总是收敛到全局最小值,特别是当目标函数是非凸的时候,它可能会收敛到局部最小值或鞍点。

  • 特征缩放:为了加快梯度下降的收敛速度,通常需要对特征进行缩放,使得它们具有相似的尺度。

梯度下降是许多机器学习算法,如线性回归、逻辑回归、神经网络等的基础优化方法。

但是遇到局部最低点的时候,由于梯度下降算法的自更新机制,会导致参数w卡死在局部最低点

在这里插入图片描述

在这里插入图片描述

所以最好选择凸函数作为损失函数,因为它只会收敛到全局最小值
在这里插入图片描述

  • BATCH
    在使用梯度下降算法时,“batch”通常指的是批量大小(batch size),它表示在每次迭代中用于计算梯度和更新模型参数的样本数量。

不同的梯度下降变体对批量大小有不同的处理方式:

批量梯度下降(Batch Gradient Descent):在这种变体中,整个训练集(所有样本)被用作一个批次来计算梯度并更新模型参数。这意味着每次参数更新都是基于整个数据集的。这种方法确保了每次更新都是精确的,但计算成本很高,尤其是在大数据集上。(课程中就是采用了这种方式来训练w、b)

随机梯度下降(Stochastic Gradient Descent, SGD):与批量梯度下降相反,SGD每次只使用一个样本来计算梯度并更新模型参数。这种方法的计算成本较低,收敛速度快,但更新过程中的噪声较大,可能会导致参数更新路径较为曲折。

小批量梯度下降(Mini-batch Gradient Descent):这是批量梯度下降和随机梯度下降的折中方案。在小批量梯度下降中,每次迭代使用一小批样本(例如32、64或128个样本)来计算梯度并更新模型参数。这种方法在计算效率和更新稳定性之间提供了一个平衡。

选择适当的批量大小对于算法的性能和模型的收敛速度有重要影响。太小的批量大小可能导致算法收敛速度慢且不稳定,而太大的批量大小则可能增加计算负担并需要更多的内存。通常,批量大小的选择需要根据具体问题和可用资源进行调整。

  • 特征工程:结合已有的特征,创造新的特征
    在这里插入图片描述

多类特征(multiple features)

**“multiple features”**指的是用于训练模型的数据集中的多个变量或属性。特征是数据集中的单个可测量的属性,它们被用来描述数据集中的每个实例。在机器学习中,特征通常用来从数据中学习模式,以便进行预测或分类。
在这里插入图片描述

例如,如果你正在构建一个用于预测房价的模型,那么可能的特征包括:

房屋的大小(平方米)
房屋的卧室数量
房屋的浴室数量
房屋的年龄
房屋的位置(如城市、街区)
周边设施(如学校、医院、交通)
这些特征可以是数值型的(如房屋大小),也可以是类别型的(如房屋的位置)。在机器学习中,特征的选择和处理对于模型的性能至关重要。特征工程是机器学习中的一个关键步骤,它涉及到选择最有信息量的特征,以及可能的特征转换和特征组合,以提高模型的准确性和效率
在这里插入图片描述

需要注意的是,对于多特征的梯度下降,每次用于计算梯度的函数是包括w1~wn的全参数fxb(x),去减去对应的y。而后面乘上的那个x1是数而不是向量,这很容易理解,因为此时是对w1求偏导,而w1偏导前面的系数就是x1,实际上预测函数是一个关于w,b,x的多元函数fwb(x),此时系数可以当成未知数,来预测两个系数的具体值。
在这里插入图片描述

特征缩放(feature scaling)

如果没有特征缩放,各特征之间的比例尺会变得很奇怪。
在这里插入图片描述
在梯度下降的时候,参数会反复回弹,行驶缓慢。如果经过缩放处理,梯度下降可以找到一条更直接的路径到达全局最小值
在这里插入图片描述**特征缩放(Feature Scaling)**是机器学习中的一项技术,用于将所有特征的尺度调整到相似的范围。这样做的目的是为了优化算法的性能,特别是对于那些对变量尺度敏感的算法,如支持向量机(SVM)、K-最近邻(K-NN)和主成分分析(PCA)等。

特征缩放有两个主要方法:

  1. 归一化(Min-Max Scaling)
    在这里插入图片描述
    最大值归一化:
    在这里插入图片描述

均值归一化:
在这里插入图片描述

  1. 标准化(Standardization)
    在这里插入图片描述在这里插入图片描述

特征缩放的好处包括:

  • 提高算法性能:对于基于距离的算法,特征缩放可以确保所有特征在计算距离时具有相同的权重。
  • 加快收敛速度:在梯度下降等优化算法中,特征缩放可以加快收敛速度。
  • 避免数值问题:在计算过程中,可以避免由于特征尺度不同而导致的数值稳定性问题。

特征缩放通常在数据预处理阶段进行,并且在训练模型之前完成。需要注意的是,用于训练模型的特征缩放参数(如最小值、最大值、均值和标准差)应该保存下来,以便在新数据上应用相同的缩放。

  • 多项式回归:在计算过程中,可以避免由于特征尺度不同而导致的数值稳定性问题。

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

微积分复习笔记 Calculus Volume 1 - 1.5 Exponential and Logarithmic Functions

1.5 Exponential and Logarithmic Functions - Calculus Volume 1 | OpenStax

JavaScript(进阶篇)

🌏个人博客主页:心.c 前言:今天讲解的是JavaScript进阶,希望大家可以有所收获,话不多说,开干! 🔥🔥🔥文章专题:JavaScript 😽感谢大家…

Numba坐标索引(CPU + 多线程)

文章目录 一、测试样本 —— 创建样本mask,具有 N 个唯一像素值,每个值有 M 个坐标。二、加速方法(1)多线程加速 —— 每次提取一个像素值,然后遍历图像,匹配并判断其与初始化坐标的关系。(2&am…

传输层 I(传输层提供的服务、UDP协议)【★★★★】

(★★)代表非常重要的知识点,(★)代表重要的知识点。 运输层是整个网络体系结构中的关键层次之一。一定要弄清以下一些重要概念: (1) 运输层为相互通信的应用进程提供逻辑通信。 (2) 端口和套接字的意义。 …

OpenCV 之 模版匹配多个对象、图片旋转 综合应用

引言 在图像处理和计算机视觉中,模板匹配是一种常用的技术,用于在一幅较大的图像中查找与给定模板图像相似的部分。然而,在实际应用中,目标物体可能会出现在不同的角度,这就需要我们在匹配之前对模板进行旋转处理。本…

[AHK]动态创建带ListBox的窗口,答选择题的界面

根据传入的窗口标题、提示信息(题干)、列表(选项)生成一个带ListBox的窗口(向导界面)。 AHK v1代码 if(A_ScriptFullPath=A_LineFile)MsgBox % ListBox("窗口标题", "这是一个生成listbox的Demo", "a|b|c|d|",3) return ;-------------…

清华智普ChatGlm批量API多线程写文章软件【glm-4-flash的key免费无限写 】

清华智普GLM-4-Flash经全面测评,在语义理解、数学逻辑、逻辑推理、代码执行以及广泛知识覆盖等方面,其表现显著超越了Llama-3-8B模型。 清华智普GLM-4-Flash模型还具备多种核心功能,包括但不限于流畅的多轮对话能力、内置的网页浏览功能、直…

线上购物商城小程序,uniapp,PHP语言开发在线购物商城小程序

前言: 商城小程序能够帮助商家降低成本、提高效率,为用户提供更加便捷和个性化的购物体验,是移动互联网时代的一种高效商业工具。 一、商城小程序功能有哪些? 基础功能需求 用户注册与登录 - 用户可以通过手机号、微信等方式进…

【第25章】Spring Cloud之Sentinel控制台详解

文章目录 前言一、实时监控二、簇点链路三、流控规则四、熔断规则五、热点规则六、系统规则七、授权规则八、集群流控九、机器列表总结 前言 前面我们详细介绍了Sentinel控制台的安装过程,这里我们来了解各个菜单的功能作用。 一、实时监控 同一个服务下的所有机器…

【网络安全】分析JS文件实现账户接管

未经许可,不得转载。 文章目录 正文正文 网站使用的是简单的OTP(一次性密码)验证机制,通过用户注册时提供的电子邮件发送邮箱验证码。在功能有限的情况下,我选择去分析网站加载的JavaScript文件。 我发现了一个名为 saveJobseekerPasswordInCache 的函数: 这个函数虽然…

等待实质审查的商标可以用吗!

申请注册商标受理书下来后,会有一个等待实质审查,这个审查出来就会出现要么通过初审,要么驳回,要么部分驳回,普推知产商标老杨发现时间大约是三个月左右,所以基本从申请3个月左右就知道结果了。 申请注册商…

智算时空 重塑视界│智汇云舟2024视频孪生产品发布会圆满举行,多个“全球首款”重磅亮相

​秋风送爽,丹桂飘香。9月6日,由北京智汇云舟科技有限公司主办(简称:智汇云舟),北京北科软科技有限公司(简称:北科软)、北京恒升联合科技有限公司(简称&#…

【北京迅为】《STM32MP157开发板使用手册》- 第十一章 编译U-Boot

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…

TPM管理培训为何难以落地?原因解析与解决之道

近年来,TPM管理被视为提升设备效率、减少故障率、降低生产成本的关键。然而,尽管TPM的理念被广泛接受,其在实践中的落地却常常面临各种挑战。本文,深圳天行健企业管理咨询公司将深入解析TPM管理培训难以落地的根本原因&#xff0c…

微信小程序登录与获取手机号 (Python)

文章目录 相关术语登录逻辑登录设计登录代码 相关术语 调用接口[wx.login()]获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台账号下的唯一标识&#xff0…

华为防火墙 nat64

如果设备接收到的IPv6报文的前缀是设备为NAT64定义的前缀,说明报文的目的地址是IPv4网络,报文将经过NAT64处理后被转发至IPv4网络。 如果设备接收到的IPv6报文的前缀不是设备为NAT64定义的前缀,说明报文的目的地址是IPv6网络,报文…

强烈推荐!分享5款ai论文生成软件

在当今学术研究和写作领域,AI论文生成工具的出现极大地提高了写作效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿,还能进行内容优化、查重和排版等操作。以下是五款值得推荐的AI论文生成软件,特别是千笔-AIPassPaper。 ### 千笔-…

Gin-封装自动路由

O.0 思路一、API二、控制层三、自动路由核心四、分组路由外加中间件使用 思路 由于Java转Go直接使用的goframe框架,然学习Gin时觉得一个接口一个路由太麻烦,于是有了...1、在请求结构体中采用标签的形式,直接给出路由和请求方式 2、在控制层…

yum源配置与静态配置地址

网络yum源 备份配置文件 下载新的CentOS-Base.repo文件到/etc/yum.repos.d/目录下 执行yum clean all清除原有 yum 缓存 执行yum makecache(刷新缓存) 本地yum 将/etc/yum/repos.d/下的文件a都移走,此处移到了该目录下的bak中 找到光盘路…

【重学 MySQL】二十二、limit 实现分页

【重学 MySQL】二十二、limit 实现分页 基本语法实现分页第一页第二页通用公式注意事项在 MySQL 中,LIMIT 子句非常强大,它允许你限制查询结果的数量,同时也经常被用来实现分页功能。分页是 Web 开发中常见的需求,它允许用户浏览大量数据时,一次只查看一小部分数据。 基本…