机器学习入门---吴恩达视频的简要总结(1)

//本文为作者原创,若有不足欢迎指正//

引言

丘成桐院士说过,假传传万卷,真传传一例。意思是作为初学者通读读万卷书,也很难参透出其中的奥秘,但是真正的智者只需一个简单的例子,就可以直击问题的精髓给人以醍醐灌顶的感觉。在吴恩达老师这里我也有同样的感受,吴老师以一个例子贯穿始终,深入浅出的讲解机器学习,是机器学习初学者必看视频。
机器学习是人工智能的一个重要分支,随着近几年大数据、云计算的发展,机器学习能力得到了值得飞跃,未来5G技术将极大推动人工智能的发展。由于人工智能方面涉及到的数学公式不易理解,所以尽量不使用公式,用通俗的语言来描述机器学习算法的相关知识。在这里插入图片描述

机器学习的分类:

机器学习分为监督学习和非监督学习,本篇文章介绍监督学习部分。

监督学习的分类:

监督学习又分为分类问题和回归问题,分类问题面向的是离散数据,使机器通过数据集的学习具有分类能力;回归问题面向的是连续数据,使机器从已知数据集的数据关系中拟合出预测曲线,从而具有线性预测能力。

线性回归问题原理:

吴恩达老师以楼价数据集作为例子来讲解线性回归问题,楼价作为机器学习算法的输出值,输入值是房屋的面积,房间数,位置等变量。原理类似于初中数学中的已知两点求过这两点的一条直线,再给定X值就可得出相应的y值,这就是机器学习最简单的过程。X是变量,Y是预测值,求直线的过程就是线性回归的过程。只不过在机器学习算法中变量X是一个向量,里面包含很多与Y值有关的特征变量x。

分类问题原理:

分类问题实际是逻辑回归的过程,吴恩达老师以癌症诊断为例讲解此类问题。其中输入值是与癌症有关的相应检查结果,输出值是癌症检查结果。很显然这是一个二分类问题,结果输出为0或1,故也称逻辑回归问题。逻辑回归就是在一定的特征输入时得到相应的结果的概率。

假设函数:

假设函数用于拟合线性回归中数据分布和输出逻辑回归中的概率。在线性回归过程中,假设函数可以通过提高函数的最高次数来达到非线性拟合的目的,逻辑回归函数是一个sigmoid函数,输出值在0-1之间。

代价函数:

代价函数是机器学习算法的关键,是用来评判模型好坏的标准。无论是逻辑回归还是线性回归都要用到代价函数,在线性回归中代价函数的概念比较好理解,即在给定用于拟合曲线的假设函数的情况下,计算训练集中所有点到假设函数的距离的方差,实际上是最小二乘法。在逻辑回归中代价函数用来描述数据分类的准确率,用的是最大似然的方法,值得一提的是该方法不存在局部最优解问题。

梯度下降法:

梯度下降法是调整模型中参数的关键,机器学习算法要求代价函数值越小越好,这就要用到梯度下降法来寻找代价函数的最小值,在梯度下降法下降每一步都会对模型的参数做出调整,直到下降到最小值,模型的参数也是最值。目前有一些更先进的梯度下降法可以自动选择学习率。

扫描二维码关注公众号,回复: 11126132 查看本文章

学习率:

学习率决定了梯度下降法下降步幅,学习率太小会导致损失函数的值收敛过慢,如果学习率太大则会导致损失函数不会收敛。

标准方程法:

标准方程法是求解代价函数最小值的一种方法。与梯度下降法不同,标准方程法通过求解矩阵的方法直接获得代价函数的最小值,从而求出模型参数。但是矩阵求逆的过程中维数过高会导致计算量猛增。所以在低维数时标准方程法效果较好,高维度时梯度下降法较为有效。

特征归一化:

当特征数据范围差距很大时,需要将不同的特征归一化,这样有利于梯度下降法平稳快速下降。当然采用标准方程法求解代价函数最小值时不需要对不同范围的特征进行归一化。

局部最优解:

在梯度下降的过程中容易陷入局部最优解,在局部最优解求得的代价函数最小值并不是全局最优值。上文提到的线性回归中使用最小二乘法拟合数据以及在逻辑回归中使用最大似然法拟合数据都不存在局部最优解的问题。

正则化:

正则化是指在代价函数中加入惩罚项,在代价函数最小化的过程中使模型中作用较小的参数最小化。加入正则化的代价函数同样可以使用梯度下降法和标准方程法。正则化项中的常数项的大小控制着对模型参数的惩罚力度。

过拟合:

在使用机器学习算法的过程中,受一些特殊点的影响会使拟合曲线超出该有的位置,变得扭曲,容易造成模型不准确。解决过拟合问题可以使用正则化和减少特征数目的方法。

神经网络:

神经网络是在解决复杂非线性问题具有更好的效果,神经网络应用在分类问题每个神经元内部都有一个激活函数,每个神经元相互连接都有相应的权值。其实神经网络是一种组合在一起的机器学习算法,神经网络前向传播过程就是假设函数求解数据的过程,神经网络的权值就是对应模型的参数。神经网络的反向传播训练权值就是求模型参数的过程。神经网络的代价函数因为权值的分布问题也发生了相应的改变。

神经网络训练步骤:

1、将权值随机初值化
2、前向传播
3、计算代价函数
4、反向传播优化权值
5、运行梯度检查
6、应用梯度下降法减小代价函数

训练神经网络中需要注意的问题:

1、使用梯度检查的方法排查算法是否有问题,注意在训练过程中要关掉要不然会拖慢运行速度,做无用功。
2、权值参数初始化切不可相同,因为相同的权值会导致训练后权值也相同。
3、数据集通常按照6:2:2分为训练集,交叉验证集,和测试集。在测试集上训练,在验证集上验证取验证集代价函数最小的模型,在整个训练过程中不断参与调参,可以防止过拟合。
4、惩罚项中常数值的选择也时在不断尝试中选择验证集代价函数最小的值。
5、如果绘制的学习曲线具有高方差,可以通过增加训练样本,减少特征的方法,如果学习曲线具有高偏差,可以通过增加特征,增加多项式特征以及调整惩罚项常数的方法。

SVM算法:

SVM是对对逻辑回归函数进行改进,并且对代价函数进行相应的改进。SVM是一类大间距分类器,具有较好的鲁棒性,其代价函数的常数C与上文讲的惩罚项常数具有相似的特性。无核SVM即线性SVM和逻辑回归方法效果差不多,有核SVM在解决复杂非线性回归问题具有很好的效果,神经网络基本可以解决线性回归、逻辑回归、SVM能解决的问题,但是SVM训练和运行更快一些。

发布了14 篇原创文章 · 获赞 1 · 访问量 448

猜你喜欢

转载自blog.csdn.net/weixin_45653050/article/details/104259428