Regression

文章目录

    • 1.1 广义线性模型
      • 1.1.1 普通最小二乘
        • 1.1.1.1普通的最小二乘复杂性
      • 1.1.2 岭回归
        • 1.1.2.1 岭复杂性
        • 1.1.2.2 设置正则化参数:广义交叉验证
      • 1.1.3 套索
        • 1.1.3.1 设置正则化参数
        • 1.1.3.1.1 使用交叉验证
        • 1.1.3.1.2 基于信息标准的模型选择
        • 1.1.3.1.3 与SVM正则化参数的比较
      • 1.1.4 多任务套索
      • 1.1.5 弹性网
      • 1.1.6 多任务弹性网
      • 1.1.7 最小角度回归
        • 1.1.8.1 数学公式
      • 1.1.9 正交匹配追踪(OMP)
      • 1.1.10 贝叶斯回归
        • 1.1.10.1 贝叶斯岭回归
        • 1.1.10.2 自动相关性确定 - ARD
      • 1.1.11 逻辑回归
      • 1.1.12 随机梯度下降 - SGD
      • 1.1.13 感知
      • 1.1.14 被动攻击算法
      • 1.1.15 稳健性回归:异常值和建模错误
        • 1.1.15.1 不同的场景和有用的概念
        • 1.1.15.2 RANSAC:RANdom SAmple共识
        • 1.1.15.2.1 算法的细节
        • 1.1.15.3 Theil-Sen估计量:基于广义中值的估计量
        • 1.1.15.3.1 理论上的考虑
        • 1.1.15.4 胡贝尔回归
        • 1.1.15.5 笔记
      • 1.1.16 多项式回归:使用基函数扩展线性模型
    • 1.2. 线性和二次判别分析
      • 1.2.1 使用线性判别分析降低维数
      • 1.2.2 LDA和QDA分类器的数学公式
      • 1.2.3 LDA降维的数学公式
      • 1.2.4 收缩
      • 1.2.5 估算算法
    • 1.3. 核岭回归
    • 1.4 支持向量机
      • 1.4.1 分类
        • 1.4.1.1 多级分类
        • 1.4.1.2 分数和概率
        • 1.4.1.3 不平衡的问题
      • 1.4.2 回归
      • 1.4.3 密度估计,新颖性检测
      • 1.4.4 复杂
      • 1.4.5 关于实际使用的提示
      • 1.4.6 内核函数
        • 1.4.6.1 自定义内核
        • 1.4.6.1.1 使用Python函数作为内核
        • 1.4.6.1.2 使用Gram矩阵
        • 1.4.6.1.3 RBF内核的参数
      • 1.4.7 数学公式
        • 1.4.7.1 SVC
        • 1.4.7.2 NuSVC
        • 1.4.7.3 SVR
      • 1.4.8 实施细节
    • 1.5 随机梯度下降
      • 1.5.1 分类
      • 1.5.2 回归
      • 1.5.3 稀疏数据的随机梯度下降
      • 1.5.4 复杂
      • 1.5.5 停止标准
      • 1.5.6 关于实际使用的提示
      • 1.5.7 数学公式
        • 1.5.7.1 SGD
        • 1.5.8 实施细节
    • 1.6 最近的邻居
      • 1.6.1 无监督的最近​​邻居
      • 1.6.3 最近邻居回归
      • 1.6.4 最近邻算法
        • 1.6.4.1 蛮力
        • 1.6.4.2 KD树
        • 1.6.4.3 球树
        • 1.6.4.4 最近邻算法的选择
        • 1.6.4.5 的影响leaf_size
      • 1.6.5 最近的质心分类器
        • 1.6.5.1 最近的Shrunken Centroid
    • 1.7 高斯过程
      • 1.7.1 高斯过程回归(GPR)
      • 1.7.2 GPR示例
      • 1.7.3 高斯过程分类(GPC)
      • 1.7.4 GPC的例子
      • 1.7.5 高斯过程的核
    • 1.8 交叉分解
    • 1.9 朴素贝叶斯
      • 1.9.1 高斯朴素贝叶斯
      • 1.9.2 多项朴素贝叶斯
      • 1.9.3 补充朴素贝叶斯
      • 1.9.4 伯努利朴素贝叶斯
      • 1.9.5 核心外天真贝叶斯模型拟合
    • 1.10 决策树
      • 1.10.1 分类
      • 1.10.2 回归
      • 1.10.3 多输出问题
      • 1.10.4 复杂
      • 1.10.5 关于实际使用的提示
      • 1.10.6 树算法:ID3,C4.5,C5.0和CART
      • 1.10.7 数学公式
        • 1.10.7.1 分类标准
        • 1.10.7.2 回归标准
    • 1.11 合奏方法
      • 1.11.1 Bagging meta-estimator
      • 1.11.2 随机树木的森林
      • 1.11.3 AdaBoost的
      • 1.11.4 渐变树提升
      • 1.11.5 投票分类器
    • 1.12 多类和多标签算法
      • 1.12.1 多标签分类格式
      • 1.12.2 一个-VS-的休息
      • 1.12.3 一个-VS-一
      • 1.12.4 纠错输出代码
      • 1.12.5 多输出回归
      • 1.12.6 多输出分类
      • 1.12.7 分类器链
      • 1.12.8 回归链
    • 1.13 功能选择
      • 1.13.1 删除方差较小的要素
      • 1.13.2 单变量特征选择
      • 1.13.3 递归功能消除
      • 1.13.4 使用SelectFromModel选择要素
      • 1.13.5 特征选择作为管道的一部分
    • 1.14 半监督
      • 1.14.1 标签传播
    • 1.15 等渗回归
    • 1.16 概率校准
    • 1.17 神经网络模型(监督)
      • 1.17.1 多层感知器
      • 1.17.2 分类
      • 1.17.3 回归
      • 1.17.4 正则
      • 1.17.5 算法
      • 1.17.6 复杂
      • 1.17.7 数学公式
      • 1.17.8 关于实际使用的提示
      • 1.17.9 使用warm_start进行更多控制

  1. 监督学习
    ============================

1.1 广义线性模型

    以下是一组用于回归的方法,其中目标值应该是输入变量的线性组合。在数学概念中,如果 y ^ \widehat{y} y 是预测值。

y ^ ( w , x ) = w 0 + w 1 x 1 + . . . + w p x p \widehat{y}(w,x) = w_{0} + w_{1}x_{1} + ... + w_{p}x_{p} y (w,x)=w0+w1x1+...+wpxp

    在整个模块中,我们指定向量 w = ( w 1 , . . . , w p ) w = (w_{1},...,w_{p}) w=(w1,...,wp) 作为coef_和将 w 0 w_{0} w0作为intercept_。

    要使用广义线性模型进行分类,请参阅 Logistic回归。

1.1.1 普通最小二乘

L i n e a r R e g r e s s i o n LinearRegression LinearRegression 拟合具有系数 w = ( w 1 , . . . , w p ) w=(w_{1},...,w_{p}) w=(w1,...,wp)的线性模型,以最小化数据集中观察到的响应与线性近似预测的响应之间的残差平方和。 在数学上它解决了如下形式的问题:
m i n w ∣ ∣ X w − y ∣ ∣ 2 2 \underset{w}{min} ||Xw-y||_{2}^{2} wminXwy22


L i n e a r R e g r e s s i o n LinearRegression LinearRegression 将采用其拟合方法数组 X X X y y y, 并将线性模型的系数存储在其 coef_ 成员中:

    from sklearn import linear_model
    reg = linear_model.LinearRegression()
    reg.fit([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
    ...
    LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)
    reg.coef_
    array([0.5, 0.5])

>>> from sklearn import linear_model
>>> reg = linear_model.LinearRegression()
>>> reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])

LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,
normalize=False)
>>> reg.coef_
array([0.5, 0.5])

然而,普通最小二乘的系数估计依赖于模型项的独立性。当术语相关并且设计矩阵的列具有近似线性相关性时,设计矩阵 X X X 变得接近单数. 结果,最小二乘估计变得对观察到的响应中的随机误差高度敏感,产生大的方差。例如,在没有实验设计的情况下收集数据时,可能出现这种多重共线性的情况。

E x a m p l e s : Examples: Examples:

  • 此示例仅使用糖尿病数据集的第一个特征,以说明此回归技术的二维图。 在图中可以看到直线,显示线性回归如何尝试绘制直线,这将最好地最小化数据集中观察到的响应之间的残差平方和线性近似预测的响应。

还计算出了系数(Coefficients),残差平方和(Mean Squared Error)和方差(Variance)分数。


    print(__doc__)
    # Code source: Jaques Grobler
    # License: BSD 3 clause
    
    import matplotlib.pyplot as plt
    import numpy as np
    from sklearn import datasets, linear_model
    from sklearn.metrics import mean_squared_error, r2_score
    
    # Load the diabetes dataset
    diabetes = datasets.load_diabetes()
    
    
    # Use only one feature
    diabetes_X = diabetes.data[:, np.newaxis, 2]
    
    # Split the data into training/testing sets
    diabetes_X_train = diabetes_X[:-20]
    diabetes_X_test = diabetes_X[-20:]
    
    # Split the targets into training/testing sets
    diabetes_y_train = diabetes.target[:-20]
    diabetes_y_test = diabetes.target[-20:]
    
    # Create linear regression object
    regr = linear_model.LinearRegression()
    
    # Train the model using the training sets
    regr.fit(diabetes_X_train, diabetes_y_train)
    
    # Make predictions using the testing set
    diabetes_y_pred = regr.predict(diabetes_X_test)
    
    # The coefficients
    print('Coefficients: \n', regr.coef_)
    # The mean squared error
    print("Mean squared error: %.2f"
          % mean_squared_error(diabetes_y_test, diabetes_y_pred))
    # Explained variance score: 1 is perfect prediction
    print('Variance score: %.2f' % r2_score(diabetes_y_test, diabetes_y_pred))
    
    # Plot outputs
    plt.scatter(diabetes_X_test, diabetes_y_test,  color='black')
    plt.plot(diabetes_X_test, diabetes_y_pred, color='blue', linewidth=3)
    
    plt.xticks(())
    plt.yticks(())
    
    plt.show()

Total running time of the script: ( 0 minutes 0.070 seconds)

1.1.1.1普通的最小二乘复杂性

该方法使用 X X X 的奇异值分解来计算最小二乘解。如果 X X X 是大小 ( n , p ) (n, p) (n,p) 的矩阵,则该方法具有的开销为 O ( n p 2 ) O(np^{2}) O(np2),假设 $n \geqslant p $。

1.1.2 岭回归

岭回归通过对系数的大小施加惩罚来解决普通最小二乘的一些问题。岭回归系数最小化了惩罚的残差平方和,
m i n w ∣ ∣ X w − y ∣ ∣ 2 2 + α ∣ ∣ w ∣ ∣ 2 2 \underset{w}{min}||Xw-y||_{2}^{2} + \alpha||w||_{2}^{2} wminXwy22+αw22

这里, α ⩾ 0 \alpha \geqslant 0 α0是控制收缩量的复杂的参数: α \alpha α值越大,收缩量越大,因此系数对共线性越稳健。

与其他线性模型一样, R i d g e Ridge Ridge 将采用其拟合方法数组 X X X y y y并将线性模型的系数存储在其 coef_ 成员中:

>>> from sklearn import linear_model
>>> reg = linear_model.Ridge(alpha = .5)
>>> reg.fit([[0, 0], [0, 0], [1, 1]], [0, 0.1, 1])
Ridge(alpha=0.5, copy_X=True, fit_intercept=True,  max_iter=None, normalize=False, random_state=None, solver='auto', tol=0.001)
>>> reg.coef_
array([0.34545455, 0.34545455])
>>> reg.intercept_
0.13636...

E x a m p l e s : Examples: Examples:

Plot Ridge coefficients as a function of the regularization
Classification of text documents using sparse features

1.1.2.1 岭复杂性

岭回归方法与普通的最小二乘法具有相同的复杂度。

1.1.2.2 设置正则化参数:广义交叉验证

R i d g e C V RidgeCV RidgeCV 通过 a l p h a alpha alpha 参数的内置交叉验证实现岭回归。 该对象的工作方式与 G r i d S e a r c h C V GridSearchCV GridSearchCV 相同,不同之处在于它默认为广义交叉验证(Generalized Cross-Validation,GCV),这是一种有效的一次性交叉验证形式:

>>> from sklearn import linear_model
>>> reg = linear_model.RidgeCV(alphas=[0.1, 1.0, 10.0], cv=3)
>>> reg.fit([[0, 0], [0, 0], [1, 1]],[0, .1, 1])
RidgeCV(alphas=[0.1, 1.0, 10.0], cv=3, fit_intercept=True, scoring=None, normalize=False)
>>> reg.alpha_
0.1

参考:

“关于规则化最小二乘法的注释”,Rifkin和Lippert(技术报告,课程幻灯片)。

1.1.3 套索

1.1.3.1 设置正则化参数

1.1.3.1.1 使用交叉验证

1.1.3.1.2 基于信息标准的模型选择

1.1.3.1.3 与SVM正则化参数的比较

1.1.4 多任务套索

1.1.5 弹性网

1.1.6 多任务弹性网

1.1.7 最小角度回归

###1.1.8 LARS Lasso

1.1.8.1 数学公式

1.1.9 正交匹配追踪(OMP)

1.1.10 贝叶斯回归

1.1.10.1 贝叶斯岭回归

1.1.10.2 自动相关性确定 - ARD

1.1.11 逻辑回归

1.1.12 随机梯度下降 - SGD

1.1.13 感知

1.1.14 被动攻击算法

1.1.15 稳健性回归:异常值和建模错误

1.1.15.1 不同的场景和有用的概念

1.1.15.2 RANSAC:RANdom SAmple共识

1.1.15.2.1 算法的细节

1.1.15.3 Theil-Sen估计量:基于广义中值的估计量

1.1.15.3.1 理论上的考虑

1.1.15.4 胡贝尔回归

1.1.15.5 笔记

1.1.16 多项式回归:使用基函数扩展线性模型

1.2. 线性和二次判别分析

1.2.1 使用线性判别分析降低维数

1.2.2 LDA和QDA分类器的数学公式

1.2.3 LDA降维的数学公式

1.2.4 收缩

1.2.5 估算算法

1.3. 核岭回归

1.4 支持向量机

1.4.1 分类

1.4.1.1 多级分类

1.4.1.2 分数和概率

1.4.1.3 不平衡的问题

1.4.2 回归

1.4.3 密度估计,新颖性检测

1.4.4 复杂

1.4.5 关于实际使用的提示

1.4.6 内核函数

1.4.6.1 自定义内核

1.4.6.1.1 使用Python函数作为内核

1.4.6.1.2 使用Gram矩阵

1.4.6.1.3 RBF内核的参数

1.4.7 数学公式

1.4.7.1 SVC

1.4.7.2 NuSVC

1.4.7.3 SVR

1.4.8 实施细节

1.5 随机梯度下降

1.5.1 分类

1.5.2 回归

1.5.3 稀疏数据的随机梯度下降

1.5.4 复杂

1.5.5 停止标准

1.5.6 关于实际使用的提示

1.5.7 数学公式

1.5.7.1 SGD

1.5.8 实施细节

1.6 最近的邻居

1.6.1 无监督的最近​​邻居

1.6.1.1 找到最近的邻居
1.6.1.2 KDTree和BallTree类

###1.6.2 最近邻居分类

1.6.3 最近邻居回归

1.6.4 最近邻算法

1.6.4.1 蛮力

1.6.4.2 KD树

1.6.4.3 球树

1.6.4.4 最近邻算法的选择

1.6.4.5 的影响leaf_size

1.6.5 最近的质心分类器

1.6.5.1 最近的Shrunken Centroid

1.7 高斯过程

1.7.1 高斯过程回归(GPR)

1.7.2 GPR示例

1.7.2.1 GPR具有噪声水平估计
1.7.2.2 GPR与核岭回归的比较
1.7.2.3 关于Mauna Loa CO2数据的GPR

1.7.3 高斯过程分类(GPC)

1.7.4 GPC的例子

1.7.4.1 GPC的概率预测
1.7.4.2 GPC在XOR数据集上的插图
1.7.4.3 虹膜数据集上的高斯过程分类(GPC)

1.7.5 高斯过程的核

1.7.5.1 高斯过程内核API
1.7.5.2 基本内核
1.7.5.3 内核运算符
1.7.5.4 径向基函数(RBF)内核
1.7.5.5 Matérn内核
1.7.5.6 有理二次核
1.7.5.7 Exp-Sine-Squared内核
1.7.5.8 点 - 产品内核
1.7.5.9 参考

1.8 交叉分解

1.9 朴素贝叶斯

1.9.1 高斯朴素贝叶斯

1.9.2 多项朴素贝叶斯

1.9.3 补充朴素贝叶斯

1.9.4 伯努利朴素贝叶斯

1.9.5 核心外天真贝叶斯模型拟合

1.10 决策树

1.10.1 分类

1.10.2 回归

1.10.3 多输出问题

1.10.4 复杂

1.10.5 关于实际使用的提示

1.10.6 树算法:ID3,C4.5,C5.0和CART

1.10.7 数学公式

1.10.7.1 分类标准

1.10.7.2 回归标准

1.11 合奏方法

1.11.1 Bagging meta-estimator

1.11.2 随机树木的森林

1.11.2.1 随机森林
1.11.2.2 极度随机的树木
1.11.2.3 参数
1.11.2.4 并行
1.11.2.5 特征重要性评估
1.11.2.6 完全随机树嵌入

1.11.3 AdaBoost的

1.11.3.1 用法

1.11.4 渐变树提升

1.11.4.1 分类
1.11.4.2 回归
1.11.4.3 适合其他弱学习者
1.11.4.4 控制树的大小
1.11.4.5 数学公式
1.11.4.5.1 损失函数
1.11.4.6 正则
1.11.4.6.1 收缩
1.11.4.6.2 子采样
1.11.4.7 解释
1.11.4.7.1 特征重要性
1.11.4.7.2 部分依赖

1.11.5 投票分类器

1.11.5.1 多数类标签(多数/硬投票)
1.11.5.1.1 用法
1.11.5.2 加权平均概率(软投票)
1.11.5.3 将VotingClassifier与GridSearch 一起使用
1.11.5.3.1 用法

1.12 多类和多标签算法

1.12.1 多标签分类格式

1.12.2 一个-VS-的休息

1.12.2.1 多类学习
1.12.2.2 多标签学习

1.12.3 一个-VS-一

1.12.3.1 多类学习

1.12.4 纠错输出代码

1.12.4.1 多类学习

1.12.5 多输出回归

1.12.6 多输出分类

1.12.7 分类器链

1.12.8 回归链

1.13 功能选择

1.13.1 删除方差较小的要素

1.13.2 单变量特征选择

1.13.3 递归功能消除

1.13.4 使用SelectFromModel选择要素

1.13.4.1 基于L1的特征选择
1.13.4.2 基于树的特征选择

1.13.5 特征选择作为管道的一部分

1.14 半监督

1.14.1 标签传播

1.15 等渗回归

1.16 概率校准

1.17 神经网络模型(监督)

1.17.1 多层感知器

1.17.2 分类

1.17.3 回归

1.17.4 正则

1.17.5 算法

1.17.6 复杂

1.17.7 数学公式

1.17.8 关于实际使用的提示

1.17.9 使用warm_start进行更多控制

标签(空格分隔): 未分类


在此输入正文

你可能感兴趣的:(算法,人工智能)