机器学习-PartOne


此文章为吴恩达机器学习视频第一部分学习内容


一、介绍

机器学习是这样的领域:它赋予计算机学习的能力,(这种学习能力)不是通过显著式编程获得的。

1.1 监督学习

Supervised Learning : Learns from being given " right answers".

根据数据集中是否含有标签,可以将机器学习分为监督学习和无监督学习。监督学习的数据集是由特征向量和标签组成,目的是训练机器对标签取值的准确预测。

  • 回归问题(Regression):预测连续值(标签)的输出。
  • 分类问题(Classification):预测离散值(标签)的输出。(二分类 0 / 1,多分类)

1.2 无监督学习

Unsupervised Learning : Find something interesting in unlabeled data.

数据集中没有任何标签或者只有相同的标签,目的是让机器从一堆未标记的数据中自行学习数据的统计规律或内在结构。

  • 聚类(Clustering):根据数据的相似度将数据分为多类的过程。
  • 降维(Dimensionality Reduction):在保证数据特性或者分布保留的情况下,将高维数据转化为低位数据的过程,主要用于数据压缩和数据的可视化。
  • 恶意检测(Anomal Detection):找到不正常的数据。

二、一元线性回归

2.1 模型介绍

在这里插入图片描述

一元线性回归模型(也叫单变量线性回归模型):只有一个变量x,通过假设函数 f = wx + b输出预测值。

在这里插入图片描述

在这里插入图片描述

2.2 代价函数

为了使得假设函数 f = wx + b的预测值尽可能的接近真实值。模型需要学习参数w 和 b,因此引入了代价函数。一元线性回归的代价函数也被称作平方误差函数。

在这里插入图片描述

可视化代价函数J随不同参数个数的变化:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

因此,一元线性回归的模型总结如下:

在这里插入图片描述

2.3 梯度下降

梯度下降算法是一种用来使代价函数最小化的算法,不仅用于线性回归领域,而且也被广泛应用于机器学习的众多领域。
思路:从某个初始点出发,不断沿负梯度方向更新模型参数,最终使代价函数达到局部最低点。
存在的问题:可能得到局部最低点,初始点改变可能导致得到的最低点不同。

在这里插入图片描述

批量(Batch)梯度下降算法。batch:每次执行梯度下降使用所有的样本。α为学习率,控制我们以多大的幅度更新参数,α太小则收敛速度较慢,α太大可能导致无法收敛。

在这里插入图片描述

在这里插入图片描述

线性回归的代价函数是一个凸函数,只有全局最优,没有局部最优。

在这里插入图片描述
在这里插入图片描述

2.4 后续延伸

在这里插入图片描述

三、多元线性回归

3.1 模型介绍

在这里插入图片描述

3.2 多元梯度下降

3.2.1 特征缩放

当多个特征的取值范围相差较大时,代价函数的等高线会呈非常瘦长的椭圆形状,会导致梯度下降的迭代次数增加,降低运算效率。
特征缩放可以将多个特征的取值范围变得较为接近,使得梯度下降算法能够更快地收敛。
一般将特征的值统一到 [-1,1] 附近。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.2.2 学习率

对于线性回归问题来说,当学习率 α 足够小时,每次迭代之后代价函数都会下降。因此,当代价函数不是持续下降时,可以减小学习率 α 。但是当学习率 α 太小时,梯度下降可能会收敛得很慢。

在这里插入图片描述

α的尝试技巧:

在这里插入图片描述

3.3 向量化

Numpy中优化了向量之间进行计算的复杂度,建议将参数与特征进行特征化之后进行计算。

在这里插入图片描述
在这里插入图片描述

3.4 特征和多项式回归

特征的选择:
以预测房价为例,可以将长和宽分别作为一个特征,也可以将土地面积即长×宽作为一个特征。有时候通过定义一个新特征会得到一个更好的模型。

多项式回归:
当一次函数模型不能很好地拟合曲线时,还可以考虑用二次多项式、三次多项式等,转化为多项式回归问题,然后多项式回归问题可以通过变量转换化为多元线性回归问题来解决(定义多个特征)。如果像这样选择特征的话,需要注意特征缩放。

在这里插入图片描述

3.5 正规方程

线性回归中求解代价函数最小值对应的模型参数的方法:
1、梯度下降算法(迭代方法)
2、正规方程(直接解法):通过导数值为零的点为原函数最小值(不考虑最大值)这一原理直接找到代价损失函数J ( θ )的最小值,从而确定最优参数 θ 。

在这里插入图片描述

四、逻辑回归

4.1 分类问题

预测的变量y yy为连续值时为回归问题,当预测的变量y yy为离散值时为分类问题。对于二分类问题,输出值为0或1。但是使用线性回归时,输出值可能会远大于1或者远小于0。因此,引入逻辑(Logistic)回归算法,其特点是输出值始终介于0-1之间。

注意:逻辑回归算法是一种分类算法,用于解决二分类问题。
在这里插入图片描述

4.2 Sigmoid函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 决策边界

线性边界:

在这里插入图片描述

非线性边界:

在这里插入图片描述

4.4 代价函数和梯度下降

线性回归的代价函数:平方误差函数

如果将Sigmoid函数直接代入线性回归的代价函数,会发现是一个非凸函数,存在许多局部最优解,不能保证梯度下降能收敛到全局最小值。

在这里插入图片描述

因此我们需要定义逻辑回归的损失函数(one-epoch)和代价函数(all-epoch):

y = 1:

在这里插入图片描述

y = 0:

在这里插入图片描述

合并:

在这里插入图片描述
在这里插入图片描述

假设函数的输出值的含义为:在θ 条件下,输入 x 时估计y = 1 的概率。
我们的目的是找出让J ( θ ) 取得最小值的θ,使用梯度下降算法来完成。

在这里插入图片描述

梯度下降算法的更新公式:

在这里插入图片描述

(1)和线性回归的公式形式相同,不同的是假设函数有所变化。
(2)我们可以使用for循环来更新θ,也可以使用速度更快的向量化方式更新参数。
(3)线性回归中的特征缩放也可以应用到逻辑回归中,用来提高梯度下降的收敛速度。

4.5 高级优化

除了梯度下降算法外,还有其他一些更高级的优化算法,比如:共轭梯度法(Conjugate gradient)、BFGS和L-BFGS。
这些高级优化算法有一个智能内循环,称为线搜索算法,它自动尝试不同的学习率,甚至可以为每次迭代选择不同的学习率。
优点:不需要手动选择学习率;收敛速度远远快于梯度下降。 缺点:更复杂。

4.6 多分类

如何使用逻辑回归解决多分类问题:采用一对多分类
原理:将多分类问题转化为多个独立的二元分类问题。

在这里插入图片描述
在这里插入图片描述

五、正则化

5.1 过拟合

high bias:高偏差,欠拟合(underfitting),没有很好的拟合训练数据。(添加更多训练数据可以改善)

high variance:高方差,过拟合(overfitting),在训练集上准确率高,在新的数据上准确率低,泛化能力弱。(模型特征变量过多而样本较少时常会出现)

泛化:表示一个假设模型应用到新样本的能力。

在这里插入图片描述
在这里插入图片描述
如何解决过拟合问题:

  1. 收集更多的数据

过拟合的问题首先考虑数据集的大小问题,然而收集更多的数据并不是一件容易的事,那么就尝试如下两种方式。

  1. 尽量减少特征变量的数量

人工选择更为重要的特征,或者使用模型选择算法自动选择保留哪些特征变量(比如PCA主成分分析)。该方法可以有效减少过拟合的发生,缺点是舍弃一些特征变量意味着舍弃了关于问题的一些信息。

  1. 正则化

保留所有的特征变量,但是减少量级或者说是参数θ的大小。当有很多特征变量并且每一个变量对结果都有影响时,这种方法非常有效。

在这里插入图片描述

5.2 代价函数

正则化的思想:在代价函数中加入惩罚项。
我们一开始并不知道哪些参数要惩罚,因此我们将所有参数θj都加上惩罚项,从而尽量去简化假设模型。参数θj越小,得到的函数就会越平滑,因此也更不容易出现过拟合问题。

加入惩罚项之后的代价函数:
在这里插入图片描述
其中,λ 称为正则化参数,作用是控制两个不同目标之间的平衡关系。

第一个目标与代价函数的第一项有关,是想更好地拟合训练集数据;

第二个目标与代价函数的第二项有关,即正则化项,是想使得参数尽可能小,从而简化假设模型,避免出现过拟合。

在正则化的线性回归中,如果λ设置过大,会导致对所有参数的惩罚程度过大,从而使得所有参数都会接近于0,假设模型近似一条直线,出现欠拟合情况。

在这里插入图片描述

5.3 线性回归的正则化

在这里插入图片描述
在这里插入图片描述

正则化线性回归的梯度下降算法的变化在于,每次迭代都将参数θ_j乘以一个很接近于1的值,将参数缩小一点,然后再进行之前的更新操作。其中,由于θ_0不加惩罚项,因此单独列出。

5.4 逻辑回归的正则化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值