机器学习通常做的任务
1.Regression(回归):做预测,例如根据今天的PM2.5预测明天的PM2.5数值一样,属于回归任务。
2.classification(分类):做分类,分为二元分类与多元分类,简单来说就是做选择题,例如目标检测里的检测该物是猫还是狗还是其他。
3.structered learning(结构化学习):让机器产生有结构化的物件,生成一张图片等。
机器学习做任务的三个步骤

step1:根据已有认知定义一个函数式子(模型),如y=w*x+b(其中w,b是参数,x是输入)。
step2:寻找损失函数来训练参数,例如,设置w=0.1,b=1,得到的y=0.1x+1,输入x后就能得到模拟真实值y,将其与实际真实值y’做差值比较,这时loss函数=I y-y’ I,这种绝对值的方法叫MAE,取平方的叫MSE。
step3:寻找最优的参数,从而将模型训练出来(用梯度下降法)。用各种参数求出不同的loss后,会形成一幅直方图,需要在直方图上做微分(寻找全局最优点),若是训练出来最优的参数都不满意,可以直接修改模型(修改函数式子)。
线性模型与非线性模型
上述的y=b+wx是是一个线性模型,即无论w,b参数怎么变,y与x的关系都是线性关系,但是实际问题中,并不是只有线性问题的,也可能存在非线性问题,因此需要引入非线性模型(激活函数)。

如图所示,任何曲线理论上都可以被一个常数+多组类似于sigmoid函数所组成的线来表示,意味着sigmoid函数可以表示任何线段。
名词解释

batch:就是把一组向量分成多个包(batch)。
epoch:把每个batch都看过一次,遍历了一遍,叫做一个epoch。
update:每次经过一个batch,都会update一个参数,接着经历下一个batch。
从sigmoid到Relu
上述提到了用sigmoid可以作为激活函数,而Relu可以用来表示sigmoid。 (两个Relu可以合成一个sigmoid)


前馈神经网络
前馈神经网络的作用找到一个合适的模型(式子)来解决问题,我们知道找到合适的模型实际上就是定义参数量和参数大小,常见的前馈神经网络主要是MLP(多层感知器),上述提到的y=w*x+b中只有w和b这两个参数,但实际上一个复杂的问题肯定是由很多参数与非线性问题组成的,一个层里的一个w代表一个感知器,一个层里的多个w代表多个感知器,因此多层里的w就代表多层感知器。如下图所示,表示的就是单层感知器的三个w和一个b。
前馈神经网络作用:我们定义模型式子,通过optimization更新参数,都是在前馈神经网络里进行定义参数和更新参数的。

题外话
sigmoid,relu不仅可以用来做模型定义的式子,还可以用来做和softmax类似归一化的功能,例如分类等。只不过现在我们更常用softmax来做归一化。
本文介绍了机器学习中的三种主要任务(回归、分类和结构化学习),详细讲述了从定义模型、损失函数训练到参数优化的过程,区分了线性与非线性模型,并重点讲解了sigmoid和ReLU在前馈神经网络中的应用。
4785





