linear regressiond

这是对andrew ng 公开课的笔记记录。

线性回归其实是要找到一个可以很好的拟合空间中的点的线性函数。为了衡量函数是否足够好,就需要对失误进行量化。几乎所有的线性回归都是采用最小二乘法,这个最小二乘法有很多种理解方式。

1. 公开课上给出了一种概率论的理解方式,即将假设失误|y - h(x)|遵循高斯分布(这里有一个IID的假设),这样要找到使整体失误的概率最大的方式,采用最大似然法的结果就是最小二乘法。

2. 这是一个cost function即对失误进行量化的函数,目的在于对失误进行记录,失误越大则函数越差,即惩罚越重,即penalty。这样考虑如何惩罚的时候采用最小二乘法有几个有点:

a. 无视符号

b.对失误大的点惩罚大

c.利于优化求解,convex


对于最小二乘法,andrew ng说过有很多种理解方式,因为当务之急是学习neural network, 对于基础部分暂时跳过。(标记)

各种求解方法

Gradient Descent

首先要对特征归一化
1. batch gradient descent
也是通常意义上的gradient descent. 本质是找到下降最快的方向前进,其中需要设置步长。步长较大可能会不收敛,步长小收敛慢。私以为步长对这个算法尤为重要。
特点:收敛慢,是通解,只可以求得局部最优解,要求函数convex

2. incremental gradient descent
区别于batch的在于 batch一次性算完整个cost 函数的导数等,也就是说每次迭代都需要对整个数据库进行计算。这是很耗时的,且在收敛的前期即远离最优解的地方(远离是相对步长定义的)是没有意义。而incremental gradient descent是在时间和效果上做了tradeoff。因为一次只采用一个样本进行迭代,速度自然增加,但是无法保证找到的是最优解。(这也是我认为这个算法最大的问题) 私以为可以放松对incremental gradient descent的收敛的判断条件,得出初步解之后用batch gradient descent。 不过gradient descent本来也就是一种比较简单直观的算法,根据andrew ng的公开课,有很多种最优化算法,虽然比较复杂,但是速度快,而且不需要设定步长,因为不涉及算法,此处先跳过 (标记)
特点:速度快,但是无法保证得到最优解。可以在要求不高的时候使用。

牛顿法

牛顿法本来就是用于求最优化问题以及寻找零点的一种解法。此处仅写一些边边角角的知识。

1. 牛顿法对初始值设定有要求,大致上是越接近最优解越好。

2. 找的是局部最优解(导数的零点)

3. 需要对Hession矩阵求逆,即要求H可逆。若不可逆公开课上貌似提过可以用pinv(待求证)。理论上可以用拟牛顿法替代(标记)

4. 牛顿法收敛速度快,即迭代次数少,但是每次迭代需要对H求逆,即其速度快慢很大程度上取决于求逆算法的好坏,在小数据中要优于梯度算法,大数据中慢于或等于梯度算法标记)

直接求解法

针对线性回归特殊例子中通过对cost function的导数置零的方法求得的公式,直接求解。
特点:速度快(尤其对小数据),但是同样需要求逆,对大数据难以保证速度。保证最优解

对R-n->R的一个函数的求导可以充分利用trace的 特点。

线性回归对非线性函数的优化

1. 加入多项式特征量
特点:随多项式n特征数成指数式增长,且难以确定n的大小(overfitting vs underfitting)(可以通过将参数加入惩罚机制进行控制regularization)。
【个人观点】 对于一个简单的sin函数,无论增加n到多大,只要n有限则必存在误差,所以有些时候不仅可以增加多项式特征量,也可以根据数据特点考虑sin log exp等函数,但是这也会使得这个方法对人的要求较多。

2. locally weighted regression
这是对数据点加以权重,离目标点越近权重越大。采用了Guassian函数用于表示权重,根据ng的公开课,这种方法只是借了高斯函数的形,并没有涉及到概率论的内容,可以自己考虑替换为其他符合权重特点的函数。同时因为采用了高斯函数,还没有看到kernel的部分,不知道这个和kernel的关系 (标记)
特点:对每个点都要重新对整个数据库进行拟合,运算量大,同时对高斯函数中参数需要进行控制(overfitting vs underfitting),存储模型时对每个拟合的直线都要记录其范围以及参数。但私以为可以应对各种非线性函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值