机器学习从入门到放弃:我们究竟是怎么教会机器自主学习的?Blackbinbin

我相信你一定听过一个说法,那就是机器学习模型可以被视为函数的一种表示方式。它们通常是由多个函数组成的,这些函数通过参数连接在一起。我们让机器从数据中提取模式、规律和关联,然后使用这些信息来做出预测、分类、聚类等任务。所以从本质上来说,在机器学习中我们其实就是要找一个超级函数,我们已知的数据就是输入的参数,它通过算法和统计方法使计算机能够从大量的数据中学习,通过逼近拟合真实的超级函数,来根据学习到的知识做出决策或执行任务。

以classification(分类)任务来说,机器学习就是通过一堆训练集,然后根据lossfunction来查找到最拟合逼近真实函数的求解函数func(),从而实现分类的输出。

所以说嘛,机器学习也没有那么难~(bushi,你可以秒懂它。

二、LogiticRegression(逻辑回归)和NeuronNetwork(神经元网络)

我们还是以上面的分类问题类进行举例,在分类方法中,需要了解逻辑回归的概念。逻辑回归(LogisticRegression)虽然名字中带有"回归"一词,但实际上它是一种用于分类问题的统计学习方法,而不是回归问题。逻辑回归用于预测二分类问题,即将输入数据分为两个类别中的一个。

逻辑回归通过将线性函数的输出映射到一个介于0和1之间的概率值,来表示输入数据属于某个类别的概率。这个映射使用了逻辑函数(也称为sigmoid函数),它具有S形的曲线,这使得模型的输出在0和1之间变化。逻辑回归的公式如下:

其中,P(Y=1|X)是给定输入特征X条件下属于类别1的概率,beta_0,beta_1,beta_n是模型的参数,X_1,X_2,X_n是输入特征。模型的目标是通过调整参数,使得预测的概率尽可能接近实际观测值。在训练过程中,逻辑回归使用最大似然估计等方法来找到最佳的参数值,以使模型的预测结果与实际观测值之间的差异最小化。一旦训练好了逻辑回归模型,它可以用于预测新的数据点所属的类别。

那这个分类模型函数中怎么求解参数beta_0,beta_1....beta_n的呢?这里其实就是模型训练方法的求解,一般来说针对逻辑回归问题都是使用最大似然估计,来进行拟合确定曲线。

举个~

一个箱子里有蓝色和黄色的球,从箱子里取出5个球,然后分别计算篮球和黄球所占的比例是多少?

很显然,一眼看出,蓝球:黄球=3/2

但是真实中我们并不知道这个箱子内的球总数是多少,那么我们能否通过有限次的取球动作(训练),去拟合出真实的分类函数呢(模型求参),答案是可以的,那就是使用最大似然估计。

假设比例是p,那么每次取出来是篮球的概率就是p,取出来是黄球的概率就是1-p。

取球的结果符合0,1分布,也就是概率函数为:

对于真是的五次取出的结构,那么就是似然函数:

对于似然函数,不同的p的概率,求解出来的的L(p)似然函数肯定是不一样的。在概率分布中是指数分布族时,一般来说其似然函数都是凹函数,所以要最逼近真实的分类函数,那么就要求取最大似然估计的值,也就是两边求对数,然后求导,让导数为0:

带入p=3/5发现刚好导数等于0,那么也就是p=3/5就是最逼近真实篮球分布的概率。

上面的似然求解过程,其实也就是机器学习中咱们最常见的sigmoid函数,也叫Logistic函数。先来看看它长什么样子,如下图。

从上图可以看出,sigmoid函数的形状像一个S,自变量的取值范围是负无穷到正无穷,因变量的取值范围在0到1之间,而且,当自变量大于0时,因变量的值大于0.5,当自变量小于0时,因变量的值小于0.5。在二分类问题中,因变量y的值只能是0或者1,利用sigmoid函数的特征,如果把临界值设置为0.5,则当自变量大于0,因变量的取值范围在0.5和1之间时,让y等于1,相反,当自变量小于0,因变量的取值范围在0和0.5之间时,让y等于0。

在讲NeuronNetwork之前我想通过一个特殊的数据集来引出为什么机器学习要使用NeuronNetwork来解决模型求解的问题。

针对输入的两个数据参数,x1和x2我们在坐标系中分别标出这四组数据的坐标,其中class标识分类的不同。我们可以看到在坐标系中,我们是无法使用一个直线去划分两个分类的,不管你怎么画分类的直线,你都没办法把蓝色和红色的点分成两边。

所以应该怎么办呢?依旧在逻辑回归中去解决这个问题,有一种方法是FeatureTransformation,也就是变换你的参数,其实就是变换坐标系,如下,左边的坐标系经过变化就变成右边的样子:

现在的话逻辑回归可以解决这个问题了,可以找出一条直线来进行分类,

但是这个是人为的经验调参,不可能每一份数据我们都去观测一遍,然后再设计一个函数去转换坐标系吧?这样一点不人工智能,所以我们在此基础上,又将入参经过许多的前置函数,然后在拼接起来变成变成是可以一条直线进行分类的,那么这个过程就是NeuronNetwork(神经元网络)。如下如x1,x2经过两个前置函数的计算来进行transformation,变成Z逻辑回归函数可以直接分类的输入。

所以在神经元网络中,不断的重叠,拼接,只是为了不断的进行featuretransfomation,然后进行最后的分类的求解问题,而每一个LogticRegression函数都称作一个Neuron。而各种Neuron你可以用各种不同的方式连接起来,也就是不同的架构,比如上一篇中的transformer就是生成式AI使用的比较多的一种架构。

三、FullyConnectFeedforwardNetwork

全连接前馈神经网络(FullyConnectedFeedforwardNetwork),也被称为多层感知机(MultilayerPerceptron,MLP),是一种常见的人工神经网络结构。它是深度学习中最基本和常见的神经网络模型之一。

全连接指的是神经网络中的每一层都与前一层中的每个神经元相连接。在全连接前馈神经网络中,信息从输入层流经一个或多个隐藏层,最终到达输出层,每个隐藏层都包含一些神经元,这些神经元通过权重进行连接,并通过激活函数处理后传递给下一层。其中的每一个的neuronnetwork都有一组自己的weight(权重)和bias(偏置),而这两个是根据给出的traindata训练得来的。

比如输入x1=1,x2=-1,那么第一个neuronnetwork的输出就是:1*1+(-2*-1)+1=4,经过sigmoid函数后,输出等于0.98

假设每一个的neuronnetwork的weight和bias我们都知道,那么我们就可以计算出最终的output

所以这一大堆的neuron组成的就是一个函数,也就是机器学习中需要找到的functionset

如果我们扩充参数,那么真实的场景下的神经网络如下

在生成的outputs的时候,还记得上面我们提到的最大似然值吗,我们需要去评估这个预测生成的输出和真实的数据之间是否是拟合的。所以在logticregresssion分类的时候使用最大似然值去估计分类的概率,而当函数的输出不是分类,而是多个随机的值的时候也就是linearregression(线性回归)的时候,一般使用均方差来进行对比评估真实值和预测值。那么在寻找一组weight和bias来使得LOSS最小的情况,这个过程就是GradientDescent(梯度下降)

四、GradientDescent

在尝试理解梯度下降的时候,我一直会不太明白梯度的概念。不过我们对导数的概念都比较熟悉,导数就是和我们梯度最为相近的一个东西。一个函数的导数,它是定义一个函数在x处的变化量,也就是函数上某个点相切的斜率。因为导数的概念是一维函数,所以它描述的是x向左和向右的一个趋势。那么如果是一个三维的图像上,那么导数则是:

在这个类似马鞍形状的图形上,在某个点上的导数的方向应该怎么定义呢?貌似什么方向上去定义都可以,只要找到一个和图形表面相切的直线就行了。因为导数本身是一个标量,它只反映变化的程度,而具体的方向是哪里呢是人为给定的。比如确定某个方向,那么根据这个方向便可以求出变化率。上面的z对x和y的偏微分就是指的z在x和y方向的变化率。

而梯度呢,它的概念也很简单,就是所有参数的方向的向量:

那么在上面类似马鞍的图中,z的梯度就是(-2x,2y)。梯度不仅有大小,还有方向的概念,那么在具体的图形中,梯度主要表示了图形的“陡峭程度”,从某种程度来说就是一个函数的变化趋势。在图形的某个点上,梯度的大小表示函数增长的快慢,梯度的方向则是表示函数增长的趋势也就是方向。

那么怎么根据这个梯度,获取这个LOSS函数的极小值解呢?

参数根据上面的公式来进行更新,也就是更新weight和bias,带入公式:Weight(t+1)=Weight(t)-a*此参数weight梯度,其中a为学习率,使我们自己设定,比如我们可以设定一个比较小的值0.001。这样每次更新weight和bias后带入前面的神经网络函数,就能一步一步的找到LOSS的最小值,这个过程就是梯度下降。

以下面函数为例:

对参数进行更新:

函数对每个参数的梯度如下:

如果以一个如下的函数来说明的话,梯度下降算法查找的的过程就是,根据某一个初始的x0,然后根据梯度,这里梯度因为只有一个参数其实也就是f(x)的导数,去更新下一个x的值,当导数为0的时候也是就红色点最底部的时候,这个LOSS函数得到最小值,也就找到了最优解。

这里的learningrate设置为0.005,这个参数一般设置一个较小的值,这样才能逐步慢慢的梯度下降到我们需要找到的最优解,否则学习率太大的情况会导致红色的点在极值附近来回震荡。而这个LOSS梯度下降算法其实有很多,如下图,最常用的基本是SGD。而一个模型的训练效果究竟好好,也就在于LOSS能不能找到一个全局最小值。而影响此值的也很有很多,比如初始值的选取啊,学习率的设置大小,局部最小值和鞍点的出现等等。

五、BackpropagationAlgorithm(反向传播算法)

反向传播算法(BackpropagationAlgorithm)是一种用于训练人工神经网络的优化算法。它是训练多层神经网络、特别是全连接前馈神经网络(多层感知机)的核心算法之一。反向传播算法通过计算损失函数对网络中每个参数的梯度,然后根据梯度调整参数,以最小化损失函数。

反向传播算法的基本思想是将误差从输出层向输入层反向传播,逐层计算每个参数对误差的贡献,然后根据这些梯度信息来更新参数。算法的步骤如下:

如果你看明白了上一个关于梯度下降算法的原来,那么反向传播对你来说就非常好理解了!!

现在我们构建一个只有一层的神经网络:

假设每个样本入参都有两个维度的input,分别是x1和x2,每位维度的取值是:

而这个样本的真实值是:

神经网络中所有参数随机初始化:

那么根据神经网络的一个输出我们可以计算得到我们的估计值y'=2.9

这一轮的正向传播后我们就可以根据估算值和真实值,计算误差,假设我们这里设置的LOSS方程是一个均方差函数:

反向传播的过程其实就是求导的过程,就是为了求出参数w1~w6需要更新的值,以w5为例,通过链式法则,对其求导得:

LOSS函数在w5方向上的梯度就是:

那么w5则更新为:

而对于w1的更新则为:

带入参数后,计算可得w1方向的梯度为:

更新w1参数:

那么经过一轮的正向传播,然后再进行反向传播更新参数后,我们就得到了一组新的参数:

当第二轮正向传播的时候,我们会发现均方差LOSS函数计算的误差会比第一轮的值小了,2.205->1.3478:

THE END
1.解锁动态规划的奥秘:从零到精通的创新思维解析(1)然而,初学者往往会被它的理论抽象和实现细节所困扰。本文将通过一道经典动态规划习题的详细讲解,帮助大家深入理解其本质,并掌握在实际问题中如何灵活运用。希望通过这篇文章,您能对动态规划的“自顶向下”与“自底向上”有更清晰的认识,从而在算法学习的旅程中迈出扎实的一步。下面我先从几个方面介绍动态规划。https://cloud.tencent.com/developer/article/2479413
2.智能本质探究从人工智能到自主学习的认知演变而自主学习则鼓励学生根据自己的需求和兴趣去探索知识。这一方法论不仅提高了学生对知识的积极性,也促进了他们独立解决问题和批判性思维能力。在这个过程中,AI技术提供了强有力的支持,可以个性化推荐资源、辅助作业完成以及评估学生成果,从而实现更加有效率和高效的地面教学。https://www.ykngnhhi.cn/ke-ji/548076.html
3.解析人工智能三大算法机器学习深度学习与强化学习的核心之旅解析人工智能三大算法:机器学习、深度学习与强化学习的核心之旅 人工智能三大算法是现代计算机科学领域中的重要组成部分,它们分别是机器学习、深度学习和强化学习。每种算法都有其独特的特点和应用场景,共同推动了人工智能技术的发展。 机器学习:数据驱动的革命 机器学https://www.fmovhaqkz.com/shou-ji/530948.html
4.人工智能基础知识速成一、机器学习概念与原理 什么是机器学习? 机器学习是人工智能的一个分支,通过从数据中学习和改进算法,使计算机系统在没有明确编程的情况下也能够自动地学习和改进。机器学习是一种实现人工智能的技术手段,能够让计算机“自我学习”,从而实现更准确的预测和决策。 https://www.jianshu.com/p/ebf29ca6e0d7
5.算法怎么入门?,如动态规划中的备忘录。通过减少空间消耗导致时间的增加(时间换空间),如递归算法转为迭代实现。https://www.zhihu.com/question/308239149/answer/50877832255
6.神经网络与人类智能:如何实现自主学习在这篇文章中,我们将讨论神经网络如何实现自主学习,以及它们与人类智能的联系。我们将讨论神经网络的核心概念,算法原理,具体操作步骤,数学模型公式,代码实例,未来发展趋势和挑战,以及常见问题与解答。 2.核心概念与联系 2.1 神经网络的基本结构 神经网络由多个相互连接的节点组成,这些节点被称为神经元(Neurons)。神经元https://blog.csdn.net/universsky2015/article/details/135793867
7.网格技术的研究与应用6篇(全文)虚拟教学模式也称为虚拟教学环境(虚拟现实),这是基于网格技术基础上开展的新型教学模式研究,拟通过研发先进的新型教育网格教学模式在界面上集学习、生活、娱乐一体展现现实世界,在网格中引入融超媒体与超文本技术于一体的现实世界,学生通过全方位交互方式实现自主学习。 https://www.99xueshu.com/w/ikeyypnu9str.html
8.混合运算教学设计1、 结合买书包和鞋的问题情景,经历自主尝试连减运算和含有小括号的混合运算的过程。 2、 了解小括号的重要作用,会计算含有小括号的混合运算试题。 3、 在与他人交流个性化算法的过程中,了解同一个问题可以用不同的解法,进一步体会算法多样化,增强自主学习数学的信心。 https://mip.ruiwen.com/jiaoxuesheji/3490861.html
9.新闻学概论(0818)的大纲算法推荐指依托互联网技术与大数据技术,对用户的阅读偏好进行跟踪,经过计算分析后得出用户画像,并据此进行新闻生产与分发。算法推荐造就了算法新闻的流量王国。时至今日,算法已经成为国内资讯类APP 的“标配”,今日头条、一点资讯、天天快报等,无不以算法作为其核心配置。 https://canvas.shufe.edu.cn/courses/14345/assignments/syllabus
10.北师大版四年级数学上册《买文具》教案设计(精选11篇)(一)上单元我们学习了神奇的计算工具和一些有趣的计算,其实在数学计算中,还有许多运算规律,你们想研究和学习吗?这节课开始,我就来探究和学习一些有关数学计算的规律。 (二)自主学习 出示课件,创设情境,交流算法。 (1)从图中你能知道哪些数学信息? https://mip.cnfla.com/jiaoan/1049568.html
11.AIGC技术内容的技术实现是怎么样的AIGC技术需要哪些技术人员→机器学习是AIGC技术的重要组成部分,机器学习工程师需要熟练掌握各种机器学习算法和框架,并能够运用这些算法和框架构建模型,从而支持AIGC系统的自主学习和优化。 2、自然语言处理工程师 自然语言处理是AIGC技术的核心技术之一,自然语言处理工程师需要具备语言学、计算机科学等方面的知识,并熟悉自然语言处理技术的各种算法和https://www.maigoo.com/goomai/289390.html
12.AI数字人:未来的虚拟助手和生态创新者云典AI智库AI数字人能够模拟人类的语言、动作和情感,通过深度学习算法实现自主学习和提高,成为互联网内容创作者和消费者的新选择。未来,我们可以期待看到AI数字人在各个领域发挥更大的作用,为人类生活带来更多便利和创新。 虚拟主播:未来的娱乐明星与品牌代言人 在当今数字化时代,虚拟主播已经成为越来越受欢迎的娱乐形式。AI数字人https://cosoh.com/aishuzirenweilaidexu/
13.许丽平台经济中轴辐共谋的违法性认定与责任承担即使辐条经营者使用了不同算法,算法也能通过自主学习实现一致定价。自主学习型算法基于竞争对手的定价金额、消费者浏览信息等因素,无需经营者人为干预运算过程而在满足一定条件下按照既定规则自动执行定价。自主学习型算法的具体工作过程是个“黑箱”,其处理原始数据的方式复杂、快速且精准,目前反垄断执法部门无法知晓算法决https://web.shobserver.com/sgh/detail?id=1397052
14.智能客服机器人系统是如何实现自主学习的得助智能智能客服机器人系统实现自主学习的功能,将聊天对话导入系统,智能客服机器人系统根据记录中的语气、话术带来的客户反应、留联效果等进行分析,结合客户对产品功能的需求自动将更优质的话术与现有话术进行转换。 四、能深度学习的智能客服机器人系统有哪些 得助智能是一款基于 NLP算法的智能客服机器人系统,它不仅具有深度学习https://www.51ima.com/news/445.html
15.高效课堂教学心得(通用20篇)印象最深刻的是孙成美老师在引导学生解决完第一种方案之后,后两种方案放手让学生自己去解答,给学生充分的思考时间和宽阔的思维空间,让学生自主探究,充分体现了学生的主体地位。 三、重视算法多样化。 在探究中,教师充分尊重学生的想法,鼓励学生先独立思考,用自己的方法计算,然后在每个学习小组内交流方法,再向全班同学https://www.jy135.com/xindetihui/886884.html
16.自主学习神经网络算法研究针对算法自身的缺陷,根据BP算法的基本原理,结合自主学习的特点及自主学习研究的基本模型,本文构建了自主学习神经网络模型,提出了具有寻找全局最优值的自主学习神经网络ALBP算法,并且对算法中比较重要的激励函数进行改进,加入神经元学习误差函数,对权值的变化增加了松紧变量,让学习率动态变化等,从而利用改进BP算法的自主https://wap.cnki.net/touch/web/Dissertation/Article/1011138784.nh.html
17.智能的本质究竟是什么能否超越人类智慧的边界真正实现自主学习机器学习与深度学习 为了实现这些“人类”功能,科学家们开发了一系列算法,其中最重要的是机器学习和深度学习。机器学习是一种让计算机系统自动从数据中学到的方法,而无需显式编程;而深度学习则是基于神经网络的一个分支,它模仿大脑中的信息处理方式,将输入转换为层次化表示,从而提高模型在复杂任务上的性能。 https://www.jmegq1rx4.cn/shu-ma/344568.html
18.机器人生产公司背后的神秘算法能否真正实现自我学习但问题来了,如果灵动者真的能够像人类一样通过经验积累知识,那么它是否意味着真正实现了自主学习?这对于一个由人类设计并编程的大型计算系统而言,是不是太过乐观了呢? 四、大脑之争:算法VS认知学 当谈及“大脑”,我们自然想到的是人类的大脑,而非计算机程序。但正如现在很多AI领域研究人员所探讨的问题,即使是一台https://www.dejsulm5.com/wei-bo-lu/397988.html
19.解读神经拟态计算:让机器像大脑一样“思考”引入时空信号处理器的特性,使得LOIHI芯片上的神经元里面的很多参数都可被实时调整,这使得LOIHI在工作时可以修改自己,实现自主学习、自我学习的能力,这是其与之前所有芯片的根本差异。如果都是在深度学习框架下训练好一个模型,然后放到一个芯片里,那么这个芯片工作的时候永远都是原来的参数,不设定新的框架就不会再改变http://www.360doc.com/content/18/0421/18/497185_747590502.shtml
20.强化学习中的随机决策森林自主学习EA交易(代理)的软件实现 我在文章中力求连续性,因此模糊逻辑系统将充当代理。在以前的文章中,对Mamdani模糊推理的高斯隶属函数进行了优化。然而,该方法有一个明显的缺点-高斯保持不变的所有情况下,无论当前的环境状况(指标值)。现在的任务是自动选择高斯位置的“中性”项的模糊输出“out”。通过选择值和近似https://www.mql5.com/zh/articles/3856/
21.小学六年级数学教学质量提升方案(精选15篇)5、重视学生已有知识和生活经验的学习和理解教学;重视引导学生自主探索,小组合作,集体协作,培养学生的创新意识和创新能力,提高学习数学的兴趣。 小学六年级数学教学质量提升方案 3 一、指导思想: 全面贯彻落实中共中央《关于深化教育改革,全面推进素质教育的决定》,全面落实基础教育课程改革,狠抓“两个常规”的落实,以教https://www.unjs.com/fanwenku/413356.html
22.人工智能是怎么自主学习的北大青鸟电脑计算机职业培训学校强化学习是一种基于奖励信号进行学习的方法。在这个过程中,智能体(Agent)通过与环境互动,采取一系列的行动,并从环境中获得奖励或惩罚信号。通过不断地试错和优化,智能体学会在给定的环境中采取最佳行动以实现目标。 深度学习(Deep Learning) 在深度学习中,神经网络可以通过反向传播算法和优化方法来调整权重和偏差,以提https://kawaedu.com/xinshi/news-28-2350.html