机器学习入门知识笔记

本文大纲为:

最小二乘法

线性回归

逻辑回归

神经网络

图像识别

 

最小二乘法说起

以下例子来自知乎:https://www.zhihu.com/question/37031188,马同学的回答

假设有一堆数据,如下图所示,

可以看出这些点像是某种线性关系,我们假设他们满足如下线性关系:

接下来,根据这些点的值,我们需要拟合出这条直线,使得这些点到这条直线的距离尽可能的近。那么怎样的距离能够衡量呢?根据前人的总结,均方误差是一种可以比较准确衡量预测值与真实值差距的一种常用标准。

其定义如下:

我们需要使预测值与真实值相近,也就是希望均方误差更小,那么问题就转化为求解均方误差取得最小值时的参数。

对a和b分别求偏导数,如下:

 

联合这两个方程,就可以解得a和b的表达式,再带入y1-y5的数值,便可以解得a和b的大小,也就确定了拟合函数。

对应与实际例子,y和x 的关系可能对应房价与房子大小的关系,学习成绩与学习时间的关系等,那么当我们拟合出这条函数,便可以根据这条函数来预测房价或者学习成绩了。

 

以上,可以说就是一个简单的机器学习过程。

 

线性回归

最小二乘法就是求线性回归问题的常用方法。线性回归的通用预测函数可用如下式子表达:

 

w为向量,表示多个输出受多个输入影响,每个输入带有一个影响因子,也就是权重。

而线性回归问题,就是求解一组最佳权重值,使得预测值与真实值差距最小的问题。

 

逻辑回归

线性回归用来解决预测连续值问题的,对于分类问题,可以使用逻辑回归。

逻辑回归与线性回归非常类似,不同之处在于,输出值需要经过一个激活函数,使得最后的输出归一化到0和1之间。

其思想就是,将输出值转化为发生某种情况的一个概率值。例如一个房价问题,我们假设大于100平米的房子,房价基本都比较高,小于100平米的房子,房价相对较低。这就是一个二分类问题,即将房价分为高房价和低房价。当一个输入x1为80平米和一个输入x2为99平米,若用线性回归求的拟合函数对齐进行计算,得到的输入应该是x1的输出y1小于x2的输出y2,将y1和y2经过激励函数,可能对应y1’=0.2, y2’=0.4,也就是说,他们的概率都小于0.5,都可以判定为低房价,但是y2’的概率更接近0.5。

又是经过强大的前人们的探寻和总结,找到了几个比较厉害的激励函数,最常用的一个叫做sigmoid函数,表达式和函数图像如下

它满足概率分布,且为严格单调递增,且光滑平缓,总之,优点多多,非常适用。

因此,逻辑回归可以表示为:

θ即为需要寻求的参数。而分类的边界即为0.5。

下面简单描述逻辑回归的求最优解过程。

现在已经有了预测函数h(x),类比线性回归,我们也需要找一个可以衡量预测值与真实值差距的一个参数,对于连续问题,可用均方误差,对于离散问题,可用交叉熵来衡量。

交叉熵的定义:

给定两个概率p和q,通过q来表示p的交叉熵为:

它刻画了两个概率分布之间的距离。

概率分布可理解为事件总数有限,任何事件发生的概率都在0-1之间,且总有一个事件发生。

继续上面对房价分类的例子。

房价的真实分类是一个概率分布p,预测分类是一个概率分布q。

假设有这么两组数据,80平米的房子,属于低房价的概率为0.8,属于高房价的概率就是0.2,对于99平米的房子,属于低房价概率为0.6,属于高房价概率为0.4,从直观上看,这是符合逻辑,那么我们计算以下他们的交叉熵,看看是不是对的。

对于80平米的,H(p,q)=-(1 x log0.8 + 0 x log0.2)=0.097

对于99平米的,H(p,q)=-(1 x log0.6 + 0 x log0.4)=0.222

80平米的交叉熵更小,也就是说更接近真实的概率分布,即分类更加准确。

 

确定了描述预测值与真实值差距的函数后,接下来的问题就是求这个函数的最小值所取得的参数。

对于二分类问题,实际上可以计算交叉熵的平均和来衡量,表示为:

 

然后,对齐求导,再使用梯度下降算法,便可一步一步寻找最优解。梯度下降算法后面介绍。

 

介绍完线性回归和逻辑回归,做一下最优参数求解过程的总结:

  1. 根据实际问题,判断是预测连续值还是离散值,选择回归类型;
  2. 定义预测函数;
  3. 定义损失函数;
  4. 梯度下降算法寻找最优参数使得损失函数最小;
  5. 用求得的最优解,预测未知数据。

 

神经网络

前面介绍的回归模型,都可以用神经网络来实现。神经网路的基本单元是神经元,一个神经元就可以表达输入与输出的关系。一个简单的神经网络如下

它表示y = wx。

对于线性回归,可用以下神经网络表示:

而逻辑回归,可以如下神经网络表示:

线性回归和逻辑回归用简单的神经网络就可以实现了,它们由输入层和输出层组成。对于复杂的问题,可以在输入层和输出层之间添加隐藏层,拥有隐藏层的神经网络称为深度神经网络,而进行深度神经网络的参数训练,即为深度学习。

下面来看一个例子,理解前向传播算法:

假设有一批螺丝,测出他们的长度用x1表示,质量用x2表示,y1表示合格的概率,y2表示不合格的概率。我们增加一个隐藏层,使神经网络更复杂一点。那么此问题的神经网络结构如下:

根据神经网络结构,我们可以推导出用x表示y的预测函数。

其中,a=x * W(1),y=a * W(2)

那么y = W(1) W(2)  * x

以上过程的定义,就是前向传播算法,也就是前面回归问题中的预测函数定义。它表示了如何从一个输入计算出输出的过程。

 

损失函数定义

与前面回归问题损失函数定义一样,线性回归可用均方误差,逻辑回归可用交叉熵。

这里继续对分类问题的损失进行分析。

神经网络中,一般根据分类结果种类设置输出节点个数,即n分类问题设置n个节点,为了使每个节点的输出概率和为1,可用softmax回归处理输出:

接下来便可以用交叉熵来计算预测的概率分布与真实的概率分布之间的距离了。

 

梯度下降算法

前面也讲到了梯度下降,接下来看看梯度下降如何寻找最优解的。

对损失函数对θ求偏导,便可以得出其梯度方向,我们先选定θ的初始值θn,然后沿着梯度下降的方向,以一定的步长改变θ为θn+1,当J(θ)小于某个阈值时,则认为寻得了最优解。

当然,算法中还涉及很多问题处理,比如初始值选取,学习率设置,局部最优问题,过拟合问题等等,这里不展开。

 

图像识别

卷积计算:两个大小相同当向量,他们的卷积运算为对应数值的乘积再求和。

卷积在图像处理中非常重要,是图像特征提取的常用运算,如下图为一个3x3的过滤器对原始图像进行特征提取。

具体的过滤器对图像特征的提取效果,可以参考:

https://blog.csdn.net/chaipp0607/article/details/72236892

 

神经网络应用于图像识别时,卷积神经网络表现良好。

假如用全连接网络,一个28x28的图片,像素有784个,即输入层节点为784个,假设有一个1000个节点的隐藏层,那么就有784000个参数,再加上输出层参数,那么需要训练的参数数量将非常庞大。

图像有个特性,一个像素只对其周围的像素有影响,也就是说,一张图片左上角的一条线跟右下角的一条线,它们是互不影响的。

基于这个特性,我们可以只取某个局部与滤波器进行局部连接,然后滑动滤波器进行全图片遍历,这种做法相比全连接,参数会减少非常多,而且效果也会有提升。

一种常用的图像分类卷积神经网络结构图:

看下面一个例子

一辆汽车的图片,在经过6个卷积层、每层10个滤波器的网络,最后经过一个FC层进行分类,便识别出car的概率最高。

其实,卷积神经网络,本质上就是在求滤波器的参数,把每个滤波器当成一堆节点,这一堆节点跟图片进行卷积,形式跟y=WTx是一样的。

也就是说,卷积神经网络,只不过是把隐藏层的节点进行分批处理,来达到减少参数数量的一种做法。而之所以这种做法应用于图像识别表现效果良好,就是因为这个过程其实就是特征提取的过程。

LetNet是一种常用的卷积神经网络,示例图如下

它共有七层

卷积层1-池化层1-卷积层2-池化层2-全连接层1-全连接层2-softmax分类层

它在识别MNIST手写数字集时,准确率可以达到99.2%,超过人类的识别准确率。

 

 

参考资料

《Tensorflow实战Google深度学习框架(第2版)》

知乎:最小二乘法的本质是什么?(https://www.zhihu.com/question/37031188

简书:深入浅出--梯度下降法及其实现(https://www.jianshu.com/p/c7e642877b0e

CSDN:理解图像卷积操作的意义 (https://blog.csdn.net/chaipp0607/article/details/72236892

七月在线-机器学习公开课(http://www.julyedu.com/video/play/18

斯坦福大学公开课 :机器学习课程(http://open.163.com/special/opencourse/machinelearning.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值