机器学习概念(一)

news2025/1/11 14:51:32

机器学习

是一门使计算机在没有明确编程的情况下具备学习能力的研究领域。

监督学习(Supervised learning)

监督学习算法

通过学习输入(x)到输出(y)的映射关系。在监督学习中,你需要为算法提供一些带有正确答案(正确的y值)的样本来进行学习。

回归(Regression)

回归是监督学习的一种类型,任务是预测一个连续的数值。例如,根据房屋面积预测房价。在这个问题中,我们可以使用不同的算法来拟合数据(例如线性回归或曲线拟合)。

在这里插入图片描述

分类(Classification)

分类是监督学习的另一种类型,任务是将输入数据分配到有限数量的类别中,输出是离散值。例如,根据电子邮件内容判断是否为垃圾邮件,预测离散数值。

input Xoutput YApplication
email是垃圾? 0/1垃圾分类
英文语音中文文字翻译机器语音翻译软件
英语日语机器翻译
广告、客户信息click?0/1在线广告策略分析
图片、雷达等与其他车的位置关系自动驾驶
二分类问题

输出只有两个类别,肿瘤良性或恶性

多分类问题

输出有多个类别,肿瘤可能被诊断为良性、恶性类型1或恶性类型2

输入特征

监督学习算法使用一或多个输入特征进行预测

边界线

在分类问题中,学习算法需要找到一个边界线,将不同类别的数据点分开。

非监督学习(Unsupervised Learning)

无监督学习

与监督学习不同,无监督学习算法不需要输出标签。它们的目标是从未标记的数据中找到某种结构、模式或者有趣的信息。

在这里插入图片描述

聚类算法(Clustering)

将未标记的数据分为不同的群组或簇。新闻归类、DNA 数据分析、市场细分

其他类型方法

异常检测(Anomaly Detection)

异常检测是一种用于检测数据中异常或罕见事件的方法。它在诸如金融欺诈检测、网络入侵检测和设备故障预测等领域有广泛应用。

降维(Dimensionality Reduction)

降维是一种将高维数据压缩到低维数据的方法,同时尽量保留原始数据中的信息。降维可以用于数据可视化、提高算法性能、减少存储需求等。常见的降维方法有主成分分析(PCA)、t-分布邻域嵌入算法(t-SNE)等。

生成模型(Generative Models)

生成模型是一类可以生成新数据的无监督学习方法。最近,生成对抗网络(GANs)和变分自编码器(VAEs)等生成模型在图像生成、文本生成和风格迁移等领域取得了显著的成功。

回归模型(Regression Model)

线性回归模型(Linear Regression with One Variable)

通过拟合一条直线来描述数据之间的关系。

在这里插入图片描述

数据表示及基本概念

关于数据表示,我们通常用小写的x表示输入变量,也称为特征;用小写的y表示输出变量,也称为目标变量。数据集中的每一行代表一个训练样本。我们用小写的m表示训练样本的总数。为了表示特定的训练样本,我们使用带上标的表示法,如x(i)和y(i),上标i表示第i个训练样本。

==训练集(Training Set)==是用于训练模型的数据集合。它通常是一个包含输入特征和对应输出值(或目标变量)的数据集,模型使用这些数据来学习如何将输入特征映射到正确的输出值。

==单个训练样本(Single Training Example)==指的是用于训练机器学习模型的单个输入数据样本。在监督学习中,单个训练样本通常包含一个输入特征向量和一个对应的输出标签或目标变量。

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

函数 f:模型Model 、

变量 X:特征 Feature 、

输出 y-hat( y ^ \widehat{y} y ):预测值

算法(单变量线性回归)从训练集数据 X、Y 中学习并生成最佳拟合线 f(x)=wx+b。

函数 f(x) 的作用是使用 x 的直线函数预测 y-hat。

成本函数(Cost function)

是指机器学习模型中用于衡量预测结果与实际结果之间差异的函数。成本函数通常用于优化机器学习模型的参数。

线性函数

线性回归的基本形式是$ f_{w, b}(x) = wx + b$,其中 b是截距(y-intercept),w是斜率(slope)。通过训练数据来学习这个模型的参数b和w,使得模型能够对新的输入数据进行准确的预测。

参数(w 和 b):机器学习模型中可以在训练过程中调整的变量,有时也称为系数或权重。

平方误差成本函数(Squared error cost function)

是一种用于衡量模型预测结果与真实结果之间误差大小的函数。在一元线性回归模型中,通常使用平方误差成本函数作为优化目标,目的是最小化预测值与真实值之间的平方误差。我们可以找到合适的参数 w 和 b,使得模型能够更好地拟合训练数据。

在这里插入图片描述

  • J(w,b)表示损失函数,m表示训练集中样本的数量, y ( i ) y^{(i)} y(i) 表示第i个样本的真实标签值, x ( i ) x^{(i)} x(i) 表示第i个样本的输入特征,w和b分别表示模型的参数。
  • 平方误差成本函数的意义是,对于所有的训练样本,计算模型预测值与真实值之间的差值,取差值的平方后再求平均值。最小化平方误差成本函数的过程,就是找到使预测值与真实值之间误差最小的模型参数。

成本函数直觉(Cost function intuition)

成本函数(cost function)J

代价函数衡量模型预测值与实际值之间的差异。在线性回归中,我们希望找到一组参数使得代价函数的值最小。

线性回归模型

简化版的线性回归模型为 f w ( x ) = w x f_w(x) = wx fw(x)=wx,其中 w 是模型的参数。在这个简化版的问题中,我们的目标是找到一个 w 值,使得代价函数 J(w) 最小。

线性回归与成本函数的关系

通过改变参数 w(或 w 和 b),我们可以得到不同的直线。当这条直线贴近数据时,代价函数 J 较小。线性回归的目标是找到一组参数(w 或 w 和 b),使得成本函数 J 的值最小。

可视化成本函数(Visualizing the cost function)

在这里插入图片描述

线性回归模型

线性回归是一种简单的机器学习算法,用于根据输入特征预测数值型目标变量。线性回归模型可以表示为 f ( x ) = w x + b f(x) = wx + b f(x)=wx+b,其中x是输入特征,w是权重,b是偏置项。

模型参数

模型参数是机器学习模型中用于调整模型性能的变量。在线性回归模型中,w和b就是模型参数。

损失函数(代价函数)

损失函数用于衡量模型的预测与实际值之间的差异。在线性回归中,通常使用平均平方误差作为损失函数,表示为 J(w, b)。线性回归的目标是找到一组参数w和b,使得损失函数J(w, b)的值最小。

损失函数三维绘制:直观感受是碗(碗底J最小,沿w 或 b 轴切一刀都是抛物线)、富士山(等高线表示 J 相等)。

成本函数和损失函数的关系

成本函数(Cost Function)

是用来衡量整个训练集上模型预测值与实际标签之间的差异的函数。成本函数通常是由损失函数的平均值,并可能包括正则化项。

1 / N ∗ ∑ i = 1 N ∣ y i − f ( x i ) ∣ 1/N*\sum_{i=1}^N|y_i-f(x_i)| 1/Ni=1Nyif(xi)

损失函数(Loss Function)

是用来度量单个样本预测值与实际标签之间差异的函数

∣ y i − f ( x i ) ∣ |y_i-f(x_i)| yif(xi)

梯度下降(Gradient descent)

是一种用于寻找使损失函数最小化的参数 w 和 b 的值的方法。

梯度下降算法可以应用于任何函数的最小化问题,包括具有多个参数的模型的损失函数。

梯度下降过程:初始 w,b,每次微调以损失函数下降最快的方向更新 J,直到 J 达到最小值。(人坐在山头往下滑) 梯度下降存根据初始值的不同收敛到不同的局部最小化

w : = w − α ∗ d d w J ( w , b ) w := w - α * {d\over{dw}}J(w,b) w:=wαdwdJ(w,b)

$b := b - α * {d\over{db}}J(w,b) 其中, α 是学习率, 其中,α 是学习率, 其中,α是学习率, {d\over{dw}}J(w,b)$ 和 d d b J ( w , b ) {d\over{db}}J(w,b) dbdJ(w,b) 分别是成本函数 J(w, b) 关于 w 和 b 的偏导数。

学习率α(learning rate)

控制每次迭代时参数更新的步长。较大的学习率表示更大的步长,较小的学习率表示更小的步长。选择合适的学习率很重要,因为它影响了梯度下降算法的收敛速度和稳定性。

导数(derivative)

函数在某一点的导数等于该点处的切线斜率。正导数表示函数单调递增,负导数表示函数单调递减,而零导数表示函数在该点处取得极值。 在梯度下降算法中,偏导数用于确定参数更新的方向

在这里插入图片描述

同步更新(Simultaneously update w and b)

在实现梯度下降时,应同时更新参数 w 和 b。这意味着在计算新值之前,不应更改任何一个参数。同步更新有助于正确实现梯度下降算法.

导数 d J d w {dJ\over{dw}} dwdJ 为斜率。切线角度离水平线越大,斜率越大,单位△w引起的△J 的值越大,即导数越大梯度下降越快

批量梯度下降(Batch gradient descent)

是一种使用所有训练样本更新参数的梯度下降算法。它的基本思想是在每一次迭代中,使用所有训练数据计算损失函数对参数的偏导数,并且根据该偏导数对所有参数进行更新。

批量梯度下降算法的收敛速度相对来说更为稳定,可以更好地收敛到全局最优解。

在这里插入图片描述

学习率(Learning rate)

当参数已经位于局部最小值时,梯度下降算法会自动停止更新参数。这是因为此时导数为零,参数更新的量为零。

在这里插入图片描述

学习率过小训练速度慢、学习率过大无法收敛。 当达到局部最小值后,梯度下降会自动停止更新参数。 逼近局部最小值时,梯度下降会自动采取较小的步长(斜率越小,单位△w引起的△J越小 )。

线性回归的梯度下降(Gradient descent for linear regression)

在这里插入图片描述

平方误差代价函数在线性回归中具有一个特殊性质:它是一个凸函数。这意味着代价函数是一个碗状函数,仅有一个全局最小值,没有其他局部最小值。

在这里插入图片描述

这个图是一个等高线图(contour plot),用于展示损失函数在不同的参数值下的表现。在这个例子中,图中的椭圆表示损失函数的等高线,即损失函数在这些椭圆上的点具有相同的值。图中心点处的椭圆表示损失函数的最小值。

这个等高线图的横轴代表参数 w(权重),纵轴代表参数 b(偏置)。椭圆越靠近图中心,损失函数的值越小;椭圆越靠近图的边缘,损失函数的值越大。

通过这个等高线图,你可以观察到梯度下降算法在参数空间中的搜索过程。在这个过程中,算法会根据梯度的方向逐步更新参数值,以最小化损失函数。从而在图中找到损失函数最小值的位置,即最优的参数值。

多特征线性回归模型(Multiple linear regression)

多特征(Multiple features)

在这里插入图片描述

x ⃗ \vec{x} x 表示第i个训练样本的特征

n特征总数

w i w_i wi 是权重,b 是偏置项。

f ( X ) = W • X + b f(X) = W • X + b f(X)=WX+b。这里的点乘(•)表示两个向量的对应元素相乘后求和。

在这里插入图片描述

多元线性回归的梯度下降算法(Gradient descent for multiple linear regression)

多元线性回归

多元线性回归是在具有多个特征的情况下进行线性回归的推广

在这里插入图片描述

梯度下降法

在这里插入图片描述

正规方程法(Normal equation)

是求解线性回归中 w 和 b 的另一种方法。与梯度下降法不同,正规方程法不需要迭代,而是直接通过一次计算来求解 w 和 b。正规方程法的局限性在于,它只适用于线性回归问题,而且在特征数量较大时计算速度较(>10000)。

梯度下降实践(Gradient descent in practice)

特征缩放(Feature scaling)

不同特征值范围:当我们使用不同特征进行预测时,它们的取值范围可能差异很大,例如房屋面积和卧室数量。

在这里插入图片描述

参数大小关系

当特征值 x i x_i xi的范围较大时,我们需要选择相对较小的参数值 w i w_i wi;而特征值范围较小时,参数值可能会相对较大。

梯度下降的表现

当特征值范围相差很大时,损失函数的等高线可能呈椭圆形,导致梯度下降算法在寻找全局最小值时需要较长时间。

特征缩放

为了解决这个问题,可以对特征进行缩放,使得它们的取值范围相对相似。这样做可以使损失函数的等高线更接近圆形,从而加速梯度下降算法。

在这里插入图片描述

特征缩放方法

特征值范围在大约 -1 到 1 之间。这些值可以有一定的灵活性

缩放特征

可以通过除以最大值的方法来缩放特征, x i = x i / x m a x x_i=x_i/ x_{max} xi=xi/xmax

均值归一化(Mean Normalization)

将特征重新缩放,使它们的均值为0。为了实现这一点,需要减去每个特征的均值,然后除以最大值和最小值之间的差值, x i = ( x i − x ˉ ) / ( x m a x − x m i n ) x_i=(x_i-\bar{x}) / (x_{max}-x_{min}) xi=(xixˉ)/(xmaxxmin)

Z得分归一化(Z-score Normalization)

这种方法需要计算每个特征的标准差。然后,对于每个特征值,减去其均值并除以其标准差。

x i = ( x i − x ˉ ) / σ , [ σ = 1 N ∑ i = 1 N ( x i − x ˉ ) 2 ] x_i=(x_i-\bar{x})/\sigma,[ \sigma = \sqrt{\frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^2} ] xi=(xixˉ)/σ[σ=N1i=1N(xixˉ)2 ]

特征工程(Feature engineering)

为问题设计新特征的过程。 原始特征→组合为新特征

多项式回归(Polynomial regression)

通过原始特征的幂的方式,实现非线性(曲线)拟合。 即由 f w , b ( x ) = w x + b f_{w,b}(x)=wx+b fw,b(x)=wx+b 的直线 → f w , b ( x ) = x a f_{w,b}(x)=x^a fw,b(x)=xa

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

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

相关文章

AI日报:欧盟人工智能法案通过后行业面临合规障碍

文章目录 人工智能新规对web爬网的影响对英国的影响。 人工智能新规 立法者已经通过了欧盟人工智能法案。企业现在必须确保其人工智能应用程序符合规则。 全面的新规定对可能影响公民权利的人工智能系统实施制裁,并有可能彻底禁止某些系统。 违反规定的公司可能面…

stable diffusion上安装数字人sadtalker插件

数字人无论是在营销还是品牌推广的作用都非常重要,很多企业和个人都正在使用数字为自己创作财富,市面上的数字人生成网站包括某讯智影、D-ID或者是Heygen收费都比较昂贵。 那么如何才能拥有一个免费的数字人生成工具呢?其实很简单你只需要在…

基于LBP和KNN的人面表情识别,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

Unity类银河恶魔城学习记录10-10 p98 UI health bar源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili HealthBar_UI.cs using System.Collections; using System.Collections.G…

AJAX学习(四)

版权声明 本文章来源于B站上的某马课程,由本人整理,仅供学习交流使用。如涉及侵权问题,请立即与本人联系,本人将积极配合删除相关内容。感谢理解和支持,本人致力于维护原创作品的权益,共同营造一个尊重知识…

NodeJs利用腾讯云实现手机发送验证码

本文介绍如何在nodejs实现短信发送,以腾讯云的短信验证为例。 腾讯云中准备工作 首先需要腾讯云的个人或者企业认证的账号,个人会赠送一百条,企业赠送一千条,可以用于测试,地址:腾讯云短信服务。然后需要…

k8s helm 删除 tiller

kuberneter 上面装了 helm 想卸载还并不是那么简单, 参考 stackoverflow 回复 kubectl get -n kube-system secrets,sa,clusterrolebinding -o name|grep tiller|xargs kubectl -n kube-system delete kubectl get all -n kube-system -l apphelm -o name|xargs kubectl dele…

前端实例:页面布局1(后端数据实现)

效果图 注&#xff1a;这里用到后端语言php&#xff08;页面是.php文件&#xff09;,提取纯html也可以用 inemployee_index.php <?php include(includes/session.inc); $Title _(内部员工首页); $ViewTopic 内部员工首页; $BookMark 内部员工首页; include(includes/…

FFmepg--音频编码流程--pcm编码为aac

文章目录 基本概念流程apicode(核心部分) 基本概念 从本地⽂件读取PCM数据进⾏AAC格式编码&#xff0c;然后将编码后的AAC数据存储到本地⽂件。 PCM样本格式&#xff1a;未经压缩的⾳频采样数据裸流 参数&#xff1a; Sample Rate : 采样频率Sample Size : 量化位数Number o…

14 stack和queue的使用

stack的介绍 stack文档 1.stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入和提取操作 2.stack是作为容器适配器被实现的&#xff0c;容器适配器是对特定类封装作为其底层的容器&#xff0c;并提供…

C/C++ Socket 获取或设置 TCP MSS 大小

通过 Socket 系统接口&#xff0c;链接到一个TCP服务器&#xff0c;那么在链接成功之后会被配置一个从本地端到目的端最佳的TCP_MSS大小。 我们通过这个特点&#xff0c;即可轻松的实现&#xff0c;链路MTU大小发现功能&#xff0c;在不依赖ROOT管理员权限的情况下&#xff0c;…

Unity AI Navigation插件快速使用方法

AI Navigation插件使您能够创建能够在游戏世界中智能移动的角色。这些角色利用的是根据场景几何结构自动生成的导航网格。障碍物可以让您在运行时改变角色的导航路径。 演示使用的Unity版本为Tuanjie 1.0.0,团结引擎是Unity中国的引擎研发团队基于Unity 2022 LTS版本为中国开发…

第五十九回 公孙胜芒砀山降魔 晁天王曾头市中箭-飞桨自然语言处理套件PaddleNLP初探

公孙胜献出八卦阵&#xff0c;宋江用八员大将守阵。项充李衮进入阵里&#xff0c;被抓住了。宋江说久闻大名&#xff0c;来梁山吧。两人说誓当效力到死&#xff0c;希望能先放我们两个回去把樊瑞带来一起。见到樊瑞后把宋江讲义气一说&#xff0c;樊瑞说不可逆天&#xff0c;于…

人工智能程序使用的编程语言

用C语言可以写人工智能程序吗&#xff1f; 可以用C语言编写具有人工智能功能的程序&#xff0c;但是较为复杂。C语言是一种通用的编程语言&#xff0c;它在执行速度和资源控制方面表现出色&#xff0c;这使得它适合于需要高性能处理的人工智能应用&#xff0c;如游戏AI&#xf…

ES解析word内容为空的问题和直接使用Tika解析文档的方案

导言 在上一篇文章最后&#xff0c;我们虽然跑通了ES文件搜索的全部流程&#xff0c;但是仍然出现了1个大的问题&#xff1a;ES7.3实测无法索引docx和doc文档&#xff0c;content有值但是无法解析到附件成为可读的可搜索的内容&#xff0c;附件内容为空&#xff08;附件中根本…

【pycharm】如何将pacharm设置成中文

【pycharm】汉化教程——如何将pacharm设置成中文 1、打开pycharm 2、点击file 3、点击setting——Plugins——搜索Chinese——点击如下图图标进行下载 汉化后界面情况&#xff1a;

JVM高频面试点(一):Java类加载过程

1.概述 在 Java 中&#xff0c;类加载过程是指将 Java 类的字节码加载到内存中&#xff0c;并转换为 Java 虚拟机能够识别和执行的数据结构的过程。类加载是 Java 虚拟机执行 Java 程序的必要步骤之一&#xff0c;它负责加载程序中用到的类和接口。下图所示是 ClassLoader 加载…

【滤波专题-第9篇】类EMD分解算法联合小波阈值降噪及MATLAB代码实现(以ICEEMDAN-样本熵-小波阈值降噪方法为例)

今天这篇介绍的算法&#xff0c;由于其高度的灵活性、使用方法的丰富性以及不错的效果&#xff0c;堪称水论文神器。对于需要使用滤波算法的同学们&#xff0c;这篇文章不可错过~ 本篇会提及很多前置概念&#xff0c;比如ICEEMDAN等模态分解算法、熵特征提取、小波阈值滤波等等…

idea项目mapper.xml中的SQL语句黄色下划线去除

问题描述 当我们使用idea开发java项目时&#xff0c;经常会与数据库打交道&#xff0c;一般在使用mybatis的时候需要写一大堆的mapper.xml以及SQL语句&#xff0c;每当写完SQL语句的时候总是有黄色下划线&#xff0c;看着很不舒服。 解决方案&#xff1a; 修改idea的配置 Edi…

SQLiteC/C++接口详细介绍之sqlite3类(八)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;七&#xff09; 下一篇&#xff1a; SQLiteC/C接口详细介绍之sqlite3类&#xff08;八&#xff09;&#xff08;暂未发表&#xff09; 24.sqlite3_cr…