斯坦福机器学习记录

本博客非自己,记录下别人的相关优秀博文,便于复习。


监督学习应用:梯度下降

监督学习应用:梯度下降
相关数学知识:
矩阵运算
矩阵迹

简要复习:

目的:求解下面模型,使得模型能利用实际数据集,充分模拟出实际模型
目标
转化为经验风险最小化问题:
经验风险最小化

求解算法

梯度下降
梯度下降公式
对其求导后:
求导

批量梯度下降:
批量梯度下降
思想:对于每个 参数的每次迭代,都需要遍历所有训练样本集m。而每次迭代都需要计算n个特征的梯度值,因此复杂度未O(mn)
缺点:批梯度下降算法的优点是能找到局部最优解,但是若训练样本 m 很大的话,其每次迭代都要计算所有样本的偏导数的和,时间过慢

随机梯度下降(增量梯度下降):
随机梯度
思想:每次计算一个参数,不需要遍历所有数据,只需计样本i即可
走一步,只考虑一个样本;当 m 个样本用完时,继续循环到第 1 个样本。

收敛方法:
1. 检验一个参数的两个迭代的改变量,若不再变化,则判定收敛
2. 检验经验风险最小化函数的值,若不再变化则收敛

最小二乘法

正规方程组
利用矩阵计算,重新求模型
矩阵模型

转化经验风险函数:向量
矩阵经验风险
推导:矩阵迹
推导
结果:利用上述推导左边=0
结果

欠拟合与过拟合

优秀博客笔记: 欠拟合和过拟合
笔记2
似然函数: 似然函数理解 感知机延伸学习: 感知机
2D感知机学习算法演示
简要复习
概念
  • 参数化学习算法(parametric learning algorithm)
    拟合数据只需固定的、有限的参数(线性回归算法),以用来进行数据拟合的算法
    房价 = 面积×参数1+地理位置×参数2
  • 非参数化学习算法(non-parametric learning algorithm)
    一个参数数量会随m(训练集大小)增长的算法,通常定义为参数数量虽m线性增长
  • 欠拟合
    对于特征集过小的情况,在训练数据和未知数据上表现都很差。如下图(较少点被拟合):
    欠拟合
    上图:若只用模型模型 ,并不能很好拟合数据
  • 过拟合
    对于特征集过大的情况,在训练数据上表现良好,在未知数据上表现差。如下图(几乎全部都拟合)
    过拟合
    上图:对所有训练数据都成功拟合,但是其泛化能力差(对测试数据预测低),因此对于训练数据中的一些噪声数据也进行了拟合,这样和实际的模型肯定会有偏差
  • 较优模型
    模型
    通过增加一个额外特性X2,函数为这里写图片描述 ,模型比较正确的拟合了数据

解决办法

  1. 特征选择算法:
  2. 非参数选择算法:缓解对于选取特征的需求,引出局部加权回归
局部加权线性回归(locally weighted linear regression)

一种特定的非参数学习算法,也称作Loess。
算法思想
假设对于一个查询点x,在x处对于假设h(x)求值
原先的线性回归如下:对于参数,求误差最小,返回参数
xxx

局部加权线性回归
局部加权
当处理x时:

  1. 检查数据集合,并且考虑x周围的固定区域所有数据点
  2. 对这些点集做线性回归,拟合一条执行
  3. 返回拟合直线对x的拟合结果

公式中:W(i)为非负的权重(0~1)
权重(表示数据点对处理点x的影响大小)计算公式:
这里写图片描述
上式中:当数据离处理点x越接近|Xi-X|时,权重越大(1),越远越小(0)。
参数T控制样本集离处理点的距离权重下降的快慢,称波长参数
总结: 对于局部加权回归,每进行一次预测,都要重新拟合一条曲线。但如果沿着x轴对每个点都进行同样的操作,你会得到对于这个数据集的局部加权回归预测结果,追踪到一条非线性曲线。
问题:由于每次进行预测都要根据训练集拟合曲线,若训练集太大,每次进行预测的用到的训练集就会变得很大,有方法可以让局部加权回归对于大型数据集更高效,解决详情参见Andrew Moore的关于KD-tree的工作。

概率解释

另一种可能的对于线性回归的解释。
解决问题
在线性回归中,为什么选择最小二乘作为计算参数的指标:我们提供一组假设,证明在这组假设下最小二乘是有意义的,但是这组假设不唯一,还有其他很多方法可以证明其有意义。
* 假设1
输入和输出为线性关系:公式
误差项+号左边:表示一种未捕获特征,或者随机噪声
假设误差项服从某个概率分布,如高斯分布:高斯分布
则高斯分布的概率密度函数:
概率密度函数
因此:
结合
解读左边:给定x(i)以thda为参数的y(i)的概率服从高斯分布,参数不是随机变量,只是未知常量
高斯分布:绝大多数问题中,测量误差都是高斯分布
中心极限定律:若干独立的随机变量之和(数据无限大时)趋向于服从高斯分布。若误差有多个因素导致,这些因素造成的效应的总和接近服从高斯分布
* 假设2
假设参数的似然性(即给定x(i)以thda为参数的y(i)的概率):
似然性
设误差项是独立同分布(相互独立且相同分布),上可变为所有分布乘积
这里写图片描述
* 假设3
极大似然估计:选取参数使得似然性L(thda)最大化即在给定x时,值为y的概率最大(最好地模拟实际模型)
利用似然函数取对数:
对数似然函数
上变量为参数,所以只需求最后一项最小(似然函数最大)
最小
可知:上式就是之前求最小二乘法时出现的式子
总结:假设误差项满足高斯分布,且独立同分布下,使得似然最大化计算参数。(高斯分布的方差对最终结果没有影响,由于方差一定为正数,所以无论取什么值,最后结果都相同)

Logistic回归

通过回归来进行分类的算法。通过将回归的变量y通过阈值离散化,将变量y限定为{0,1}两个值。
在线性回归算法预测y时,y很可能出现大于1或者小于0。 所以我们改变假设函数:
logistic

简写:
简写

上述函数一般称为逻辑函数或者s型函数,如下图:成功将y限制在0~1范围内,当z很大,y趋向1

logis

对假设的概率解释
假设

简写:假设简写

参数的似然性为:
参数似然

转化为对数似然
对数似然

求解似然性最大化,利用梯度下降法,对参数thda求偏导(因为求最大值,梯度上升)
梯度上升
推导过程:
过程
结果:
结果
上结果知,公式和线性回归相似,但是符号相反。线性回归求经验风险最小化为梯度下降,逻辑回归求似然概率最大化,为梯度上升。而且h(thda)函数不一样。

感知机算法

提出背景:在logistic中,y值最终是在[0,1]之间的小数,如何将其转化为只是{0,1},提出感知机算法:
给定一个阈值,将y定义分段:
阈值
利用logistic梯度上升,其中转化

梯度上升
感知器算法是一种非常简便的学习算法,临界值和输出只能是0或1,是比logistic更简单的算法。

牛顿方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值