一、线性回归
1.基本概念
线性回归是利用线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。简单的来讲就是利用一个线性函数去描述数据之间的关系。房价问题是最常见的线性回归问题,当房价只与房屋面积有关时,则成为一元线性回归;当房价与房屋面积和房龄有关时,成为多元线性回归。
2、函数模型
这里还是接着用房价问题举例,假设房价(price)只与房屋面积(area)有关,且房价与房屋面积呈线性关系时,则可以用下面数学模型对其进行描述。
3、模型求解
一般来说,我们可以采用最小二乘法对回归方程进行求解。但是这里我们采用机器学习的方法,通过损失函数和优化函数对数据进行训练求解。
-
损失函数
在模型训练的过程中,为了能使线性回归方程更好的描述数据之间的关系,我们需要一个能评价模型训练的好坏的标准。因此我们采用损失函数,损失函数是用来描述线性回归模型与真实数据之间的差异的,如过没有差异,则回归模型能完全的描述数据之间的关系。因此在模型训练的过程中,我们通常会选取一个非负的损失函数(平方函数),通过训练使得损失函数最小,此时模型是最优的。损失函数表达式如下:
-
优化函数
线性回归模型怎么训练呢?我们可以构造一个优化函数,在模型训练的过程中不断的降低损失函数的值。这里我们可以采用梯度下降的方法对模型进行优化。
梯度下降指的就是沿着梯度下降的方向求取函数的最小值,其函数表达式如下:
学习率: η ,梯度下降的速率。
二、 Softmax与分类模型
-
softmax函数
在分类问题中经常会使用到softmax函数,一般在神经网络的输出层加上softmax,其输出结果用于分类。在多分类任务中,通过softmax函数将输出结果以概率的形式展示出来,(1)其预测的概率为非负数;(2)概率之和为1。这样我们就可以知道每个分类的概率是多大,概率最大的那个即为我们的分类结果。其函数表达式如下(三分类问题):
-
交叉熵损失函数
在分类问题中经常使用交叉熵损失函数,因为交叉熵也涉及到计算每个类别的概率,所以在分类的神经网络中,交叉熵与softmax函经常会其出现。交叉熵是用来衡量两个概率分布的差别。对于softmax函数输出的是概率,而数据的真实值并不是概率,所以不能使用简单的平方函数作为损失值。所以我们采用交叉熵,来比较不同类别概率之间的差异,通过降低模型输出的交叉熵训练处最佳模型。其函数表达式如下:
三、多层感知机
-
多层感知机
多层感知机(MLP,Multilayer Perceptron)是一种前馈人工神经网络模,其模型除了输入输出层,中间含有多个隐藏层。下图是一个含有一个隐藏层的3层感知机模型,含有4个隐藏单元,3个输入和输出单元。我们可以看出,多层感知机层与层是全连接的,但是简单的通过隐藏层对网络进行训练,其输出结果还是线性的,并不能有好的效果,因此在隐藏单元后会加上激活函数。
-
激活函数
在神经元后加上激活函数,可以增加网络的非线性因素,使得神经网络可以任意逼近任何非线性函数。一般常用的激活函数有:Relu,sigmoid,tanh.