精华内容
下载资源
问答
  • 在非局部总变化正则化中自适应确定正则化参数以进行图像降噪
  • 在该项目中考虑了对正则化参数估计的下采样。 此项目中使用的文件名约定包括以下信息。 文件包含内容的描述符(例如:Data1D,NoisePlot) 测试功能编号,由“ F”后的数字表示 SNR,由“ S”后的数字表示 高斯...
  • 自适应Tikhonov正则化参数估计方法
  • 正则化参数估计

    千次阅读 2019-04-08 23:58:36
    正则化参数λ\lambdaλ在径向基函数网络,最小二乘估计和支持向量机的正则化理论中起着核心作用,因此需要一个估计λ\lambdaλ的相当原理性的方法。 先考虑一个非线性回归问题: di=f(xi)+εi,i=1,2,...,Nd_i = f...

    正则化参数λ\lambda在径向基函数网络,最小二乘估计和支持向量机的正则化理论中起着核心作用,因此需要一个估计λ\lambda的相当原理性的方法。
    先考虑一个非线性回归问题:
    (式1)di=f(xi)+εi,i=1,2,...,Nd_i = f(x_i)+\varepsilon _i,i=1,2,...,N \tag{式1}
    此处f(xi)f(x_i)是一条"光滑的曲线",εi\varepsilon _i是一个均值为零和方差如下的白噪声过程的采样,即
    (式2)E[εi,εk]={σ2,若k=i0,否则E[\varepsilon _i,\varepsilon _k] = \begin{cases} \sigma ^2, & \text {若k=i} \\ 0, & \text{否则} \end{cases} \tag{式2}
    给定一组训练样本{xiyi}i=1N\lbrace x_i,y_i \rbrace _{i=1} ^N,重建该模型的固有函数f(xi)f(x_i)
    Fλ(X)F_{\lambda}(X)为f(x)相对于某个正则化参数λ\lambda的正则化估计,即Fλ(X)F_{\lambda}(X)为使表示非线性回归问题的Tikhonov泛函达到最小的最小化函数。
    在这里插入图片描述
    (式3)\tag{式3}
    选择合适的λ\lambda,由下述两条件加以权衡
    (1)由DF(X)2||DF(X)||^2项来度量解的粗糙度;
    (2)由i=1N[diF(xi)]2\sum_{i=1}^N[d_i - F(x_i)]^2项来度量数据的失真度。

    均方误差

    R(λ)R(\lambda)表示模型的回归函数f(x)f(x)和表示在正则化参数λ\lambda某一值下的解的逼近函数Fλ(x)F_{\lambda}(x)之间在整个给定集合上的均方误差,即:
    (式4)R(λ)=1Ni=1N[f(xi)Fλ(xi)]2R(\lambda) = \frac{1}{N} \sum _{i=1} ^N[f(x_i) - F_{\lambda}(x_i)]^2 \tag{式4}
    所谓最佳λ\lambda指的是使R(λ)R(\lambda)取最小的值;
    Fλ(xk)F_{\lambda} (x_k)表示为给定的一组可观察值的线性组合:
    (式5)Fλ=i=1Naki(λ)diF_{\lambda} = \sum _{i=1} ^N a_{ki}(\lambda)d_i \tag{式5}
    用等价的矩阵形式写成:
    (式6)Fλ=A(λ)dF_{\lambda} = A(\lambda)d \tag{式6}
    其中dd是预期响应向量,
    (式7)Fλ=[Fλ(x1),Fλ(x2),...,,Fλ(xN)]TF_{\lambda} = [F_{\lambda}(x_1),F_{\lambda}(x_2),...,,F_{\lambda}(x_N)]^T \tag{式7}

    在这里插入图片描述(式8) \tag{式8}
    其中N x N矩阵A(λ)A(\lambda)称为影响矩阵。
    用上述矩阵符号,可以R(λ)R(\lambda)重新写成:
    (式9)R(λ)=1NfFλ2=1NfA(λ)d2R(\lambda) = \frac{1}{N} ||f - F_{\lambda}||^2 = \frac{1}{N} ||f - A({\lambda})d||^2 \tag{式9}
    其中向量N x 1的向量ff为:
    f=[f(x1),f(x2),...,f(xN)]Tf = [f(x_1),f(x_2),...,f(x_N)]^T
    也可写成
    d=f+εd = f + \varepsilon
    其中:
    (式10)ε=[ε1,ε2,....,εN]T \varepsilon = [ \varepsilon _1, \varepsilon _2,...., \varepsilon _N]^T \tag{式10}
    整理可得:
    在这里插入图片描述(式11)\tag{式11}
    其中I是N x N的单位矩阵,求R(λ)R(\lambda)的期望值,需要注意:
    (1)式(11)的右边第一项是一个常数,因此它不受期望算子的影响;
    (2)第二项的期望为零;
    (3)标量A(λ)2||A(\lambda)||^2的期望为:
    在这里插入图片描述(式12)\tag{式12}
    (4)利用矩阵代数中如下规则:给定两个具有相容维数的矩阵B和C,BC的迹等于CB的迹,
    B=εTB =\varepsilon ^{T}, C=AT(λ)A(λ)εC = A^T(\lambda)A(\lambda) \varepsilon则式12可以写成:
    (式13)E[A(λ)f2]=E[tr[AT(λ)A(λ)εεT]]=σ2tr(A2(λ))E[||A(\lambda) f||^2] = E[tr[ A^T(\lambda)A(\lambda) \varepsilon \varepsilon^T ]]=\sigma ^2 tr(A^2(\lambda))\tag{式13}
    上式最后一行根据(式2)可得,其中AT(λ)A(λ)A^T(\lambda)A(\lambda)的迹等于A2(λ)A^2(\lambda)的迹。
    将三项结果结合起来,R(λ)R(\lambda)期望值可表示为:
    (式14)E[R(λ)]=1NfA(λ)f2+σ2Ntr[A2(λ)]E[R(\lambda)] = \frac{1}{N} ||f - A(\lambda) f||^2 + \frac{\sigma ^2}{N} tr[A^2(\lambda)]\tag{式14}
    但是,一个给定数据集的均方误差R(λ)R(\lambda)在实际中并不好用,因其需要回归函数f(x)f(x)的知识,它是一个有待重建的函数,因此定义如下作为R(λ)R(\lambda)的估计:
    (式15)R^(λ)=1NIA(λ)d2+σ2Ntr[A2(λ)]σ2Ntr[(IA(λ))2]\hat{R}(\lambda) = \frac{1}{N}||I - A(\lambda)d||^2 + \frac{\sigma ^2}{N}tr[A^2(\lambda)] - \frac{\sigma ^2}{N}tr[(I - A(\lambda))^2]\tag{式15}
    (式16)E[R^(λ)]=E(R(λ)) E[\hat{R}(\lambda)] =E(R(\lambda)) \tag{式16}


    因此使得估计R^(λ)\hat{R}(\lambda)最小的λ\lambda值可以作为正则化参数λ\lambda一个好的选择,即使得其模型均方误差最小。

    但是从(式15)可以看出需要估计R^(λ)\hat{R}(\lambda)还需要知道噪声方差σ2\sigma ^2,而实际情况中,它通常是未知的。为处理该情况,引入广义交叉验证


    广义交叉验证

    Fi[k](x)F_i ^{[k]}(x)为使泛函数最小化的函数:
    (式17)ξmodified(F)=12i=1N[diFλ(xi)]2+λ2DF(x)2\xi _{modified}(F) = \frac{1}{2} \sum_ {i=1} ^N[d_i - F_{\lambda}(x_i)]^2 +\frac{\lambda}{2}||DF(x)||^2 \tag{式17}
    其中标准误差项中省略了第kk[dkFλ(xk)][d_k - F_{\lambda}(x_k)],将用该项预报缺省数据点dkd_k的能力来衡量参数λ\lambda的好坏。因此,引入性能度量:
    (式18)V0(λ)=1Nk=1N[dkFλ[k](xk)]2V_0(\lambda) = \frac{1}{N}\sum _{k=1} ^N [d_k - F_{\lambda} ^{[k]}(x_k)]^2 \tag{式18}
    V0(λ)V_0(\lambda)仅依赖数据点本身,这样 λ\lambda 的普通交叉验证估计即为 V0(λ)V_0(\lambda)最小化的函数。
    Fλ[k](xk)]F_{\lambda} ^{[k]}(x_k)] 一个有用的性质是:
    如果用预测Fλ[k](xk)F_{\lambda} ^{[k]}(x_k) 来代替数据点dkd_k的值,使用数据点d1d2,...,dk1,dk,...dNd_1,d_2,...,d_{k-1},d_k,...d_N使式3的泛函数最小,则Fλ[k](xk)F_{\lambda} ^{[k]}(x_k) 就是所求的解,对于每一个输入向量xx,该性质使得ξ(F)\xi(F)的最小化函数Fλ(x)F_{\lambda} (x)线性依赖于dkd_k,这使得有:
    (式19)Fλ[k](xk)=Fλ(xk)+(Fλ[k](xk)dk)Fλ(xk)dkF_{\lambda} ^{[k]}(x_k) = F_{\lambda}(x_k) +(F_{\lambda} ^{[k]}(x_k) -d_k) \frac{\partial F_{\lambda(x_k)}}{\partial d_k} \tag{式19}
    由式5可以得出:
    (式20)Fλ(xk)dk=akk(λ)\frac{\partial F_{\lambda(x_k)}}{\partial d_k} = a_{kk}(\lambda) \tag{式20}
    akk(λ)a_{kk}(\lambda)是影响矩阵A(λ)A(\lambda)对角线上的第kk个元素,将式20代入式19可以得到:
    (式21)Fλ[k](xk)=Fλ(xk)akkdk1akk(λ)=Fλ(xk)dk1akk(λ)+dkF_{\lambda} ^{[k]}(x_k) = \frac{F_{\lambda}(x_k) - a_{kk}d_k}{1-a_{kk}(\lambda)} = \frac{F_{\lambda}(x_k)-d_k}{1-a_{kk}(\lambda)}+d_k \tag{式21}
    式18可重新定义成:
    (式22)V0(λ)=1Nk=1N[Fλ(xk)dk1akk(λ)]2V_0(\lambda) = \frac{1}{N}\sum _{k=1} ^N [\frac{F_{\lambda}(x_k)-d_k}{1-a_{kk}(\lambda)}]^2 \tag{式22}
    但是对于不同的k,akk(λ)a_{kk}(\lambda)的值是不同的,这说明不同的数据点在V0(λ)V_0(\lambda)中具有不同的作用。为了避免通常的交叉验证的这一特性,将上式改变为:
    (式23)V0(λ)=1Nk=1Nwk[Fλ(xk)dk1akk(λ)]2V_0(\lambda) = \frac{1}{N}\sum _{k=1} ^N w_k[\frac{F_{\lambda}(x_k)-d_k}{1-a_{kk}(\lambda)}]^2 \tag{式23}
    wkw_k的定义为:
    (式23)wk=[1akk(λ)1Ntr[IA(λ)]]2w_k = [\frac{1-a_{kk}(\lambda)}{\frac{1}{N} tr[I- A(\lambda)]}]^2\tag{式23}
    据此:
    (式24)V0(λ)=1Nk=1N(dkFλ(xk))2(1Ntr[IA(λ))2]V_0(\lambda) = \frac{ \frac{1}{N}\sum _{k=1} ^N (d_k - F_{\lambda}(x_k))^2}{(\frac{1}{N} tr[I - A(\lambda))^2}] \tag{式24}
    据此得到的V0(λ)V_0(\lambda)仅依赖与数据d相关的数据量。

    展开全文
  • 正则化参数λ的选择

    2021-04-16 10:39:03
    正则化参数λ的选择 正则化参数λ的选择:通过选择不同的λ,找到最恰当的值。 居中的图片: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZBqeEU9N-1618540568022)(])

    正则化参数λ的选择

    正则化参数λ的选择:通过选择不同的λ,求出不同λ对应的最小化J(θ),取出向量θ,使用交叉验证集来评价,也即测出每个参数θ在交叉验证集上的平均的误差平方和,然后取12个模型中交叉验证集最小的哪个模型作为最终选择。

    • 图片选自吴恩达机器学习视频。

    只有训练集的损失函数有正则化项,验证集和训练集均没有。
    在这里插入图片描述

    展开全文
  • 因为随机逻辑回归使用L1惩罚,所以需要设置正则化参数C(或Lasso中的alpha).为了找到C的好价值,我通常使用简单的GridSearchCV,如下所示.但RandomizedLogisticRegression()不支持GridSearchCV,因为它包含b...

    我正在使用sklearn Randomized Regression,例如Randomized Logistic Regression.因为随机逻辑回归使用L1惩罚,所以需要设置正则化参数C(或Lasso中的alpha).

    为了找到C的好价值,我通常使用简单的GridSearchCV,如下所示.

    但RandomizedLogisticRegression()不支持GridSearchCV,因为它包含bootstrapping.相反,我尝试将典型的LogisticRegression与GridSearchCV一起使用.

    params = {'C':[0.1, 1, 10]}

    logi = LogisticRegression(penalty='l1')

    clf = GridSearchCV(logi, params, cv=10)

    我可以通过这种方式获得C,但是,当我将此C值应用于随机逻辑回归时,没有选择任何属性.也许GridSearchCV选择的C非常低.

    因此,我想知道在使用随机回归时是否还有其他好方法可以确定C(或alpha)的公允价值.

    之前有一个similar question,但我认为答案是典型的回归.

    谁能给我一个想法吗?

    解决方法:

    由于RandomizedLogisticRegression用于特征选择,因此需要将其作为管道的一部分进行交叉验证.您可以将GridSearchCV应用于管道,该管道将其作为特征选择步骤与您选择的分类器一起包含.示例可能如下所示:

    pipeline = Pipeline([

    ('fs', RandomizedLogisticRegression()),

    ('clf', LogisticRegression())

    ])

    params = {'fs__C':[0.1, 1, 10]}

    grid_search = GridSearchCV(pipeline, params)

    标签:python,machine-learning,scikit-learn,regression

    展开全文
  • 如何估计光谱回归判别分析的正则化参数及其内核版本?
  • 正则化参数

    2012-10-17 16:00:21
    本文档是关于正则化参数λ或者α如何选择,我自己总结的
  • 基于字典学习的小剂量X射线CT重建正则化参数选择模型
  • 基于字典学习的小剂量X射线CT重建正则化参数确定模型
  • 基于SURE的基于l1图像复原的正则化参数的最优选择。
  • 我们在尺寸正则化参数ε=(d-4)/ 2中计算了对胶子融合中希格斯玻色子产生到更高阶的两环电弱校正。 我们采用通过选择典范基础而扩充的微分方程方法来计算相关积分,并用Goncharov多对数表示它们。 我们的计算为gg→...
  • 关于Landweber迭代方法在正则化参数后验选取时的阶数最优性注记,李维金,傅初黎,Landweber迭代方法是求解不适定问题的重要方法,而且当正则化参数为先验选取时,该方法可以达到阶数最优的误差估计,且无饱和效应。
  • 基于BG理论确定Phillips方法的正则化参数并评价反演结果 (2014年)
  • 我们系统地计算了与顶部对产生有关的平面双箱Feynman积分,其中顶部闭合环具有尺寸正则化参数ϵ中的Laurent展开。 这是通过将该积分及其所有子拓扑的微分方程组转换为in中的线性形式完成的,其中ϵ0部分严格为下...
  • 自动估计正则化参数的非负矩阵分解方法,史振威,程大龙,非负矩阵分解(Non-negative Matrix Factorization, NMF)是近年发展起来的一种矩阵分解的方法,被广泛应用于人脸识别、数据挖掘、生物信息学�
  • 基于正弦图的噪声能量估计及其在统计迭代重构正则化参数选择中的应用
  • # linear_model.LogisticRegression 逻辑回归回归分类器(又叫logit回归,最大熵分类器) ...# linear_model.logistic_regression_path 计算Logistic回归模型以获得正则化参数的列表 # linear_model....
    # linear_model.LogisticRegression   逻辑回归回归分类器(又叫logit回归,最大熵分类器)
    # linear_model.LogisticRegressionCV     带交叉验证的逻辑回归分类器
    # linear_model.logistic_regression_path 计算Logistic回归模型以获得正则化参数的列表
    # linear_model.SGDClassifier    利用梯度下降求解的线性分类器(SVM,逻辑回归等等)
    # linear_model.SGDRegressor     利用梯度下降最小化正则化后的损失函数的线性回归模型
    # metrics.log_loss              对数损失,又称逻辑损失或交叉熵损失
    
    # 【在sklearn0.21版本中即将被移除】
    # linear_model.RandomizedLogisticRegression 随机的逻辑回归
    
    # 其他会涉及的类 说明
    # metrics.confusion_matrix  混淆矩阵,模型评估指标之一
    # metrics.roc_auc_score     ROC曲线,模型评估指标之一
    # metrics.accuracy_score    精确性,模型评估指标之
    
    # todo  1:  linear_model.LogisticRegression
    
    # 使用损失函数这个评估指标
    # 衡量参数0 的优劣的评估指标,用来求解最优参数的工具
    # 损失函数小,模型在训练集上表现优异,拟合充分,参数优秀
    # 反之
    
    # sklearn.linear_model.LogisticRegression(penalty='l2',    # 正则化 可以输入"l1"或"l2"来指定使用哪一种正则化方式,不填写默认"l2"
    #                                         # L1正则化会将参数压缩为0,L2正则化只会让参数尽量小,不会取到0。
    #                                         # 特征量很大,数据维度很高,我们会倾向于使用L1正则化
    #                                         # 如果我们的主要目的只是为了防止过拟合,选择L2正则化就足够了。但
    #                                         # 是如果选择L2正则化后还是过拟合,模型在未知数据集上的效果表现很差,就可以考虑L1正则化
    #                                         # (稀疏(越多参数为0))若选择"l1"正则化,参数solver仅能够使用”liblinear"和“saga”
    #                                         # (稠密)              若使用“l2”正则化,参数solver中所有的求解方式都可以使用
    #                                         dual=False,
    #                                         tol=0.0001,
    #                                         C=1.0,  # C正则化强度的倒数,必须是一个大于0的浮点数,不填写默认1.0,即默认一倍正则项
    #                                                 # C越小,对损失函数的惩罚越重,正则化的效力越强,参数0会逐渐被压缩得越来越小。
    #                                         fit_intercept=True,
    #                                         intercept_scaling=1,
    #                                         class_weight=None,
    #                                         random_state=None,
    #                                         solver='warn',
    #                                         max_iter=100,
    #                                         multi_class='warn',
    #                                         verbose=0,
    #                                         warm_start=False,
    #                                         n_jobs=None)
    
    
    from sklearn.linear_model import LogisticRegression as LR
    from sklearn.datasets import load_breast_cancer  # 乳腺癌数据集
    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import accuracy_score  # 精确性分数
    
    data = load_breast_cancer()
    X = data.data
    y = data.target
    lrl1 = LR(penalty="l1", solver="liblinear", C=0.5, max_iter=1000)
    lrl2 = LR(penalty="l2", solver="liblinear", C=0.5, max_iter=1000)
    
    # todo:     逻辑回归的           重要属性
    lrl1 = lrl1.fit(X, y)
    ###### lrl1.coef_
    num_=(lrl1.coef_!=0).sum(axis=1)  # [10]  不为0的特征 共十个
    
    lrl2 = lrl2.fit(X, y)
    num_2=(lrl2.coef_!=0).sum(axis=1) # 发现全部都不为0,l2追求就是让每个特征对模型都有贡献
    
    # todo: 探究 l1和l2 哪一个更好,建 c的学习曲线
    l1 = []
    l2 = []
    l1test = []
    l2test = []
    Xtrain, Xtest, Ytrain, Ytest = train_test_split(X,y,test_size=0.3,random_state=420)
    for i in np.linspace(0.05, 1, 19):
        lrl1 = LR(penalty="l1", solver="liblinear", C=i, max_iter=1000)
        lrl2 = LR(penalty="l2", solver="liblinear", C=i, max_iter=1000)
    
        lrl1 = lrl1.fit(Xtrain, Ytrain)
        # accuracy_score # 对预算的和真实的比较然后 打分
        # lrl1.predict(Xtrain)  对模型的预测值
        l1.append(accuracy_score(lrl1.predict(Xtrain), Ytrain))
        l1test.append(accuracy_score(lrl1.predict(Xtest), Ytest))
    
        lrl2 = lrl2.fit(Xtrain, Ytrain)
        l2.append(accuracy_score(lrl2.predict(Xtrain), Ytrain))
        l2test.append(accuracy_score(lrl2.predict(Xtest), Ytest))
    graph = [l1, l2, l1test, l2test]
    color = ["green", "black", "lightgreen", "gray"]
    label = ["L1", "L2", "L1test", "L2test"]
    plt.figure(figsize=(6, 6))
    for i in range(len(graph)):
        plt.plot(np.linspace(0.05, 1, 19), graph[i], color[i], label=label[i])
    plt.legend(loc=4)  # 图例的位置在哪里?4表示,右下角
    plt.show()
    
    # 可见,至少在我们的乳腺癌数据集下,两种正则化的结果区别不大。但随着C的逐渐变大,正则化的强度越来越
    # 小,模型在训练集和测试集上的表现都呈上升趋势,直到C=0.8左右,训练集上的表现依然在走高,但模型在未知
    # 数据集上的表现开始下跌,这时候就是出现了过拟合。我们可以认为,C设定为0.9会比较好。在实际使用时,基本
    # 就默认使用l2正则化,如果感觉到模型的效果不好,那就换L1试试看
    展开全文
  • 1.岭回归:sklearn.linear_model.Ridge Ridge(alpha=1.0, fit_...参数alpha为正则化系数,其值的大小与正则化强度成正比。 参数alpha即为上式岭回归损失函数中的α\alphaα。 2.支持向量机回归模型:sklearn.sv
  • lambda正则化参数的大小影响

    千次阅读 2019-03-30 09:40:00
    当lambda的值很小时,其惩罚项值不大,还是会出现过拟合现象,当时lambda的值逐渐调大的时候,过拟合现象的程度越来越低,但是当labmda的值超过一个阈值时,就会出现欠拟合现象,因为其惩罚项太大,导致丢失太多的...
  • Spark中的逻辑回归算法中有两个参数,regParam正则化参数和elasticNetParam弹性网参数,通过设置这两个参数,可以间接确定算法中的L1和L2参数。 反推公式 公式比较简单,可以从源码中看到,如下 val regParamL1 = ...
  • 从实例理解正则化参数α(惩罚项)

    千次阅读 2019-06-26 23:45:13
    从实例理解正则化参数α\alphaα 机器学习三要素之一:策略(代价函数): 通过最小化训练误差来学得最佳参数w,bw,bw,b:E(w,b)=1n∑i=1nL(yi,f(xi))+αR(w)E(w,b)=\frac{1}{n}\sum_{i=1}^{n}L(y_i,f(x_i))+\...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,579
精华内容 2,231
关键字:

正则化参数