机器学习之——归一化

简介: 之前我们讨论了几个机器学习的模型,线性回归模型(Linear Regression)和逻辑回归模型(Logistic Regression),这一次我们讨论一下关于模型数据拟合的问题以及归一化方法(Regularization)。 过拟合问题(The Problem of Overfitting) 如果我们有非常非常多的特征,我们通过学习得到的假设可能会非常适应训练集(代价函数的值可能

之前我们讨论了几个机器学习的模型,线性回归模型(Linear Regression)逻辑回归模型(Logistic Regression),这一次我们讨论一下关于模型数据拟合的问题以及归一化方法(Regularization)

过拟合问题(The Problem of Overfitting)

如果我们有非常非常多的特征,我们通过学习得到的假设可能会非常适应训练集(代价函数的值可能几乎为0),但是这样的假设能不能推广使用到新的数据呢?下面有一些例子:


从左至右来看,第一个模型是一个线性模型,拟合度很低,也称作低度拟合(Underfitting),不能很好地适应我们的训练集;第三个模型,是一个四次方的模型,属于过度拟合,虽然能够很好地适应我们的训练集数据,但是在新输入变量进行预测的时候,可能效果会很差;而第二个模型,似乎是最合适的模型。

分类问题(Classification)中,也存在这样的问题:


最后一个模型就是过度拟合的情况。

那么问题出现了,如果我们发现了这样过度拟合的情况,如何处理?

思考后,有两种方式:

1,丢弃一些不能帮助我们正确预测的特征。

  • 可能是手工选择保留哪些特征
  • 或者使用一些模型选择的算法来帮忙(例如 PCA)
2,归一化

  • 保留所有的特征,但是减少参数的大小(Magnitude)

归一化代价函数(Regularization Cost Function)

上面的回归问题中,如果我们使用的模型是:


我们决定要减小ø3和ø4的大小,我们需要做的就是修改代价函数,在其中ø3和ø4的身上,设置一些惩罚(Punishment)。这样做的话,我们在尝试最小化代价时,也需要将这个惩罚代入考虑中,并最终导致选择小一些的ø3和ø4 。 修改之后的代价函数如下:


这样,通过代价函数选择出的ø3和ø4对整个预测结果的影响就比之前小了很多。

加入我们有非常多的特征,我们并不知道其中哪些特征是我们要惩罚的,我们将对所有特征进行惩罚,并且让代价函数最优化的方法来选择惩罚的程度。这样的结果,就得到了一个较为简单的能够防止过度拟合问题的假设:


其中λ又称为归一化参数(Regularization Parameter)

这里注意:根据惯例,我们不会对ø0进行惩罚。

经过归一化处理的模型与原模型的对比可能如下图:


如果选择的归一化参数λ过大,就会把所有参数都最小化了,这样导致模型hø(x)=ø0也就是上图中的红色直线的情况,数据就属于低度拟合。

下回我们讨论,线性逻辑模型的归一化和逻辑回归模型的归一化。

相关文章
|
7月前
|
机器学习/深度学习 算法 Python
机器学习:归一化
这段内容主要讨论了归一化的目的和两种类型的归一化方法。归一化是为了确保在梯度下降过程中,不同维度的参数以相似的幅度调整,避免因数据尺度差异导致的优化问题。文中提到了最大值最小值归一化和标准归一化,后者更不易受到离群值的影响,并且可以使数据符合正态分布。通过Python代码示例展示了如何使用`StandardScaler`进行标准归一化。
275 2
|
7月前
|
机器学习/深度学习 资源调度
【机器学习】归一化目的分析
【1月更文挑战第27天】【机器学习】归一化目的分析
|
2月前
|
机器学习/深度学习 算法 搜索推荐
机器学习入门(四):距离度量方法 归一化和标准化
机器学习入门(四):距离度量方法 归一化和标准化
|
6月前
|
机器学习/深度学习 算法 C++
机器学习归一化特征编码(二)
这篇文档讨论了机器学习中的特征编码,特别是独热编码(OneHotEncoder)在处理离散变量时的作用。它指出,对于多分类变量,独热编码是常用方法,但对二分类变量通常不需要。在Python的`sklearn`库中,`OneHotEncoder`可以用来实现这一过程,并可以通过设置`drop='if_binary'`来忽略二分类变量。文档还提到了逻辑回归,解释了正则化参数`C`和`penalty`,并列举了不同的优化算法,如`liblinear`、`lbfgs`等。
|
6月前
|
机器学习/深度学习 算法 数据处理
机器学习归一化特征编码(一)
特征缩放是机器学习预处理的关键步骤,它包括归一化和标准化。归一化通过最大最小值缩放,将数据转换到[0,1]区间,有助于梯度下降算法更快收敛,减少数值较大特征的影响。标准化则通过减去均值并除以标准差,确保数据具有零均值和单位方差,适用于关注数据分布情况的算法。例如,欧氏距离计算时,未归一化的特征可能导致模型偏向数值较大的特征。归一化能提升模型精度,尤其是当距离度量如欧式距离时。常见的实现方法有`MinMaxScaler`,它将每个特征值缩放到用户指定的范围,如[0,1]。而`StandardScaler`执行Z-Score标准化,数据分布符合标准正态分布。
|
6月前
|
机器学习/深度学习 人工智能 算法
【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
82 3
|
7月前
|
机器学习/深度学习 数据采集 算法
【Python机器学习专栏】数据标准化与归一化技术
【4月更文挑战第30天】在机器学习中,数据预处理的两大关键步骤是标准化和归一化,旨在调整数据范围以优化算法性能。标准化将数据缩放到特定区间,如[-1, 1]或[0, 1],适合基于距离的算法,如KNN、SVM。归一化则将数据线性变换到[0, 1],保持相对关系。Python中可使用`sklearn.preprocessing`的`MinMaxScaler`和`StandardScaler`实现这两种操作。选择哪种方法取决于数据分布和算法需求。预处理能提升模型理解和性能,增强预测准确性和可靠性。
199 0
|
7月前
|
机器学习/深度学习 算法 Python
【Python机器学习】Sklearn库中Kmeans类、超参数K值确定、特征归一化的讲解(图文解释)
【Python机器学习】Sklearn库中Kmeans类、超参数K值确定、特征归一化的讲解(图文解释)
414 0
|
机器学习/深度学习 人工智能 算法
详解机器学习中的数据处理(二)——特征归一化
详解机器学习中的数据处理(二)——特征归一化
411 0
详解机器学习中的数据处理(二)——特征归一化
|
机器学习/深度学习 算法 Python
学习笔记: 机器学习经典算法-数据集的归一化
机器学习经典算法-个人笔记和学习心得分享
130 0