• 机器学习整理(线性回归)


    单元线性回归

    1、定义假设函数 h(x)=θ1x+θ0

    2、尝试用样本拟合假设函数,所有样本点到假设函数的距离,其中m为样本数量:

    sum=12m1m(h(xi)yi)2

    3、当 sum 的值越小,假设函数的偏差就预测样本更加精确。这个表达式就是代价函数 j(θ) ,目标就是最小化代价函数的值。

    4、假设 h(x) 没有常数项 θ0h(x) 将会会是一个从原点出发的直线,不断变动 θ1 的值(斜率),带入样本 (1,1),(2,2),(3,3) 可以发现代价函数 j(θ)是一个二次函数,并且在值为 1 的时候,代价函数 h(x) 的值最小。

    梯度下降

    问题:为了将代价函数最小化,但是代价函数J(θ)在多维后不能可视化,所以需要一种方法来求得最小值。

    梯度下降算法描述:

    对于每一个 θi 参数,不断减去代价函数j(θ0θn)θi 的偏导和学习率 a ,直到收敛,收敛的意思是导数项为0,θi 的值不再发生变化。

    线性回归的梯度下降的代价函数总是一个凸函数,没有局部最优解,只有全局最优解。

    学习率的取值

    1、学习率太大收敛不了,梯度下降的过程中,不断跳过最低点,需要适当调小学习率;

    2、太小的话学习速度太慢

    3、学习率总能到达局部最低点,即使学习率是固定的,因为接近最低解的时候,导数会自动变化。

    4、调试梯度下降,保证梯度下降是在正确运行要求是每次迭代都需要降低 J(θ) 的值,设定收敛阈值 σ

    多元线性回归

    当处理的问题的特征输入变成多个时,假设函数将会变成:

    h(x)=θ0x0+θ1x1++θnxn

    其中 x0 = 1。

    如果假设两个矩阵:

    X=[x0x1xn],Θ=[θ0θ1θn]

    那么假设函数就能表示为:

    h(x)=ΘTX

    特征缩放


    将特征的值放到相同的规模上,如果不在同一规模,有可能要梯度下降很久。

    面对这种问题,经验是将特征缩放到 -1 ~ 1 之间。

    缩放的方法:均值归一化,特征值减去平均值除以特征的范围。

    正规方程求解

    除了梯度下降的方法找到最优点,还可以直接通过求导数值为0的点计算出结果。当

    J(θ0,θ1,,θm)=12m1m(h(xi)yi)2

    只要代价函数求得对每个 θ 的偏导的值为 0 的点即可。

    θjJ(θ0,θ1,,θm)==0

    正规方程在求解大特征的时候需要求转置和矩阵的逆,但是在n小的时候求得比较快。(特征少的时候选择)。


    __EOF__

  • 本文作者: PokPok的研究日志
  • 本文链接: https://www.cnblogs.com/pokpok/p/15997138.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    Web前端开发技术课程大作业:简单的网页制作期末作业——狐妖小红娘(6页)
    R 语言精简入门
    Java Swagger集成 相关学习以及总结
    竞赛 大数据疫情分析及可视化系统
    SVN windows安装及初步使用;及初次连接版本库、提交、还原、比对操作说明文档
    学习:Spring事务扫盲
    Python装饰器通俗理解
    flink集群搭建
    机器视觉之ros人脸识别
    Linux/VC:进度条的小程序
  • 原文地址:https://www.cnblogs.com/pokpok/p/15997138.html