对回归方法的认识

回归问题:属于有监督问题,可以处理多维数据

               连续型模型,受噪声影响较大

核心思想:从离散的统计数据中得到数学模型,然后将该数学模型用于预测或者分类。

CF:分类问题:如果要预测的目标是离散的

       回归问题:如果要预测的目标是连续的

几个概念


输入数据:x,一般是训练集或者是训练数据

输出数据:y

拟合函数:y=h(x)

一、线性回归

       线性回归假设特征(x)和结果(y)满足线性关系。

       线性回归可以表达的不仅仅是线性关系,每个特征对结果的影响可以用前面的参数体现;而且每个特征向量可以映射到一个函数,然后再参与线性计算。这样就可以表达特征与结果的非线性关系。

1、线性回归模型

                      其中最后一步中令=1.

2、损失函数:线性模型评价好坏的标准

               (估计值-真实值)

       如何调整使算是函数取得最小值的两种方法:最小二乘法、梯度下降法

二、最小二乘法(完全数学描述法)

           注:输入X为矩阵,输出y为向量。X为列满秩,且求逆较慢。

三、梯度下降法(LMS)

         

       梯度下降法的最大问题是求得的有可能是全局极小值,与初始点的选取有很大关系。

最小二乘法的目标:求误差的最小平方和,对应有两种:线性和非线性。线性最小二乘的解是closed-form即x=(A^T A)^{-1}A^Tb,而非线性最小二乘没有closed-form,通常用迭代法求解。

迭代法,即在每一步update未知量逐渐逼近解,可以用于各种各样的问题(包括最小二乘),比如求的不是误差的最小平方和而是最小立方和。

梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。高斯-牛顿法是另一种经常用于求解非线性最小二乘的迭代法(一定程度上可视为标准非线性最小二乘求解方法)。

还有一种叫做Levenberg-Marquardt的迭代法用于求解非线性最小二乘问题,就结合了梯度下降和高斯-牛顿法。

所以如果把最小二乘看做是优化问题的话,那么梯度下降是求解方法的一种,x=(A^T A)^{-1}A^Tb是求解线性最小二乘的一种,高斯-牛顿法和Levenberg-Marquardt则能用于求解非线性最小二乘。(此部分来自知乎匿名用户的回答)


最小二乘法的矩阵解法和梯度下降法的区别在哪里? 其实, 在计算量方面, 两者有很大的不同, 因而在面对给定的问题时, 可以有选择性的根据问题的性质选择两种方法中的一个.具体来说, 最小二乘法的矩阵公式是 (A^{T}A)^{-1}A^{T}b, 这里的 A 是一个矩阵, b 是一个向量. 如果有离散数据点, (x_{1}, y_{1}), ..., (x_{n}, y_{n}), 而想要拟合的方程又大致形如 a_{0} + a_{1}x^{1} + a_{2}x^{2}+...+a_{m}x^{m}, 那么, A 就是一个 n\times{}(m+1) 的矩阵, 第 i 行的数据点分别是 [x_i^0, x_i^1, ...,x_i^m], 而 b 则是一个向量, 其值为 [y_1, ..., y_n]^T. 而又已知, 计算一个矩阵的逆是相当耗费时间的, 而且求逆也会存在数值不稳定的情况 (比如对希尔伯特矩阵求逆就几乎是不可能的). 因而这样的计算方法有时不值得提倡.

相比之下, 梯度下降法虽然有一些弊端, 迭代的次数可能也比较高, 但是相对来说计算量并不是特别大. 而且, 在最小二乘法这个问题上, 收敛性有保证. 故在大数据量的时候, 反而是梯度下降法 (其实应该是其他一些更好的迭代方法) 更加值得被使用.

当然, 其实梯度下降法还有别的其他用处, 比如其他找极值问题. 另外, 牛顿法也是一种不错的方法, 迭代收敛速度快于梯度下降法, 只是计算代价也比较高.(此部分来自知乎卢生的回答)

四、对数回归

       对数回归的本质是线性回归,只是在特征到结果的映射中加入了一层函数映射。即先把特征线性求和,然后使用函数g(z)映射。对数回归用来分类0/1问题。

          

         

可以扩展到一般情况


已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页