可以做外贸的网站有哪些,pos机做网站推广,网站背景色,高端手机网站建设需要多少钱公众号#xff1a;自学编程村#xff0c;关注后#xff0c;回复“书籍”#xff0c;领取1000多本计算机书籍。涵盖语言语法、数据结构算法、AI相关书籍、开发相关等等各种书籍#xff0c;应有尽有#xff0c;你总会用到。 关注方式见主页或文章底部。想要加群可从公众号中… 公众号自学编程村关注后回复“书籍”领取1000多本计算机书籍。涵盖语言语法、数据结构算法、AI相关书籍、开发相关等等各种书籍应有尽有你总会用到。 关注方式见主页或文章底部。想要加群可从公众号中加我wx~~~ 机器学习的任务
我们要学习机器学习首先要明白它要解决的问题是什么。或者是做的事情是什么。
什么是机器学习呢
就是让机器具备找一个映射的方式也就是通常意义上的函数并且呢我们暂且认为它就是一个黑匣子即先别管这个函数是怎么实现的。那么我们就希望机器能建立起一种映射当我们把某些输入给它的时候它能够映射到我们想要的东西即产生我们想要的输出。
也就是说我们希望机器能够完成这样的事情我们喂给它一些输入然后它能够产生我们想要的输出。
那么如果说输出的是一个数值我们就认为其是回归(Regression)问题如果输出是一些选择或者分类的可能我们就认为其是分类问题(Classfication)
举个经典的例子我们要预测明天下雨的可能性我们将各种数据喂给了机器让其产生明天下雨的可能性的预测那么这样一个事情就是回归问题如果我们想要判断接受到的一个邮件是否是垃圾邮件那这就是一个分类问题在这样的分类中往往输出的是一个多维的向量每一个维度就代表这一种分类的可能。例如可以用[0,1]表示男性[1,0]表示女性。
回归和分类是机器学习中的两大类任务。但是需要知道机器学习不仅仅就只有这两大任务。例如还有Structured learning等等主要是能够主动产生有结构的一些事物等比如生成一个图像生成一个文本等。
同时机器学习还分为监督学习和无监督学习甚至还可以说有半监督学习所谓是否有“监督”就是输出的结果是否在我们预期的集合之内。举个简单的例子假如说一个机器通过给定输入数据后它产生的结果的集合我们已知假设集合为{}就是说要么为1要么为2要么为3那么它就是监督学习。反之如果它产生的结果的集合我们实现并不能知道那么它就是无监督学习。比如聚类问题即将一组数据分成不同的群组或簇使得同一簇内的数据点之间相似度较高而不同簇之间的数据点相似度较低。。
好大概明白了机器学习的任务是什么了之后我们就应当继续探索这个映射关系函数怎么找或者说这个黑匣子应当怎么打开
函数关系的建立
再明确下这个映射建立的目的是什么目的是我们通过给定一个输入然后让其产生我们想要的输出这中间需要经历三个步骤①确立有什么样的参数。②从数据集中确定损失函数。③优化迭代。
参数确立
举例来说对于①最简单的我们可以考虑这样一个映射关系为 即我先把乘上一个倍率然后在加上一个修正。这样一个线性的关系也是我们在数学中学到的最简单的函数关系。那么类似于这样的一个关系就有可能是我们要找的函数关系。而这个函数关系我们就叫做Model即模型。
这里的就是我们要预测的值也就是我们预测的输出而这里的就是我们要给的输入。当我给它输入的时候它能够根据它建立起来的函数关系反馈给我的值。这里的就叫做 feature即特征。
那和是什么东西呢我们叫它们为未知的参数即Unknown Parameters特别的我们叫即那个和feature相乘的为weight即权重我们叫为bias即偏差或者叫修正值。那现在的问题是它们应该怎么样才能被知道呢答就是通过我们通常所听到的 训练模型所训练train出来的。我们通常往往会事先给定出很多的资料(即数据)这些资料中有已知的输入x同时也会将作为已知给出。那么机器在收到我们给的已知的输入和输出之后就会按照我们既定的模型(在我们上面所给的示例中假设它为线性关系)来去训练从而找到最合适的和从而用这最合适的和作为它们的值。当我们需要机器来预测的时候即我们此时只给机器的值也就是只有输入让它帮我们预测输出它就能够用最合适的和来帮我们估计出最可能的。
通过这里我们实际上也就可以发现机器学习本质上就是拿已知来预测未知或者是产生未知的过程。我们假设采用某种模型需要事先选定或者设计通过事先给定其很多的数据、让它看过大量的资料通过这样一个过程使得我们的这个模型中的一些未知参数能很好得train出来即找到那些最合适的参数最后再拿我们这训练好的模型各种参数均已知的情况下在只给定输入时期望它能够很好地帮助我们预估该输入所产生的结果或者让其产生未知。当然了如果我们简单地把视野局限在监督学习这一部分的话呢我们可以暂时忽略产生未知的过程。
当然了上面就是一个笼统的介绍所有的概念都泛化来去理解就是从广义上来去理解不要死磕因为实际上如果死磕的话上面有一些话还是有待商榷的。我们在后面慢慢介绍。
损失函数
接下来对于②什么叫损失函数呢损失函数即Loss函数它也是一个关于未知参数的函数。例如上面的线性关系的损失函数我们可以记为。那么损失函数有什么样的实际意义呢它表示的是在我这个模型中当我的参数选取特定的值的时候这样取值的好坏程度说白了就是说这样取值是好还是不好。
举例来说我让我的我让我的当然啊我们假设这一组值是它训练出来的值。那么我的模型就表示为那这个模型好不好呢或者说如何用Loss函数来去衡量它的好坏程度呢假设我在事先给的数据集里面有一组的值是这里的我们称为是时的label。那么我们将带入到我们的模型中得到。然后我们可以来对比一下我们得到的和的差距。倘若我们用来表示二者之间的差距。可以算出的值为。那么这个就可以认为是我们这个样本的损失。我们总的损失函数就可以表示为。那么通常情况下我的这个越大就代表了这一组参数它所拟合的效果越不好越小往往就表示越好。当然了这个损失函数我们这里用的是绝对值来去计算的我们也可以采用平方来去计算举例来说我们的也可以为。用绝对值计算的我们叫做MAE(mean absolute error)用平方计算的我们叫做MSE(mean square error)。它们俩通常有着比较微妙的差别通常要适用哪一种需要看具体的任务具体对待。当然如果有的时候和都是概率的时候我们也可以选择用cross-entropy来去计算。