转载自:http://www.cnblogs.com/llhthinker/tag/Machine%20Learning/

Content:

1. Linear Regression

  1.1 Linear Regression with one variable

    1.1.1 Gradient descent algorithm

  1.2 Linear Regression with multiple variable

    1.2.1 Feature Scaling

    1.2.2 Features and polynomial regression

    1.2.3 Normal equation

    1.2.4 Probalilistic interpretation for cost function

key words: Linear Regression, Gradient Descent, Learning Rate, Feature Scaling, Normal Equation

1. Linear Regression

1.1 Linear Regression with one variable

某个目标量可能由一个或多个变量决定,单变量线性回归就是我们仅考虑一个变量与目标量的关系。例如,我们可以仅考虑房子的面积X与房价y的关系,如下图。

通常将已有的可利用的数据成为data set or training set。

首先我们定义出线性的hypothesis function h,然后定义出cost function J,为了使得假设函数接近或等于实际值,目标是使得函数J取最小值。

1.1.1 Gradient descent algorithm (梯度下降法)

梯度下降法可以求解线性回归问题,具体描述如下:

函数J是一个二元函数,为使得取最小值,分别对求偏导数,得到对应的变化率。然后,设定一个合适的learning rate,对theta进行更新。更新策略如下:

注意更新要同步,否则前一个theta0会影响后一个theta1更新(通过影响cost function : J)

其中对J函数求偏导数如下:

带入得:

迭代次数和learning rate是影响梯度下降法是否成功收敛到最优值的重要因素

  • 迭代次数

    • 过少可能使得算法还没有收敛就停止,
    • 过多导致资源(时间等)的浪费;
  • learning rate:
    • 过小,使得每次迭代时theta的变化量过小,从而算法收敛过慢,换言之需要增加迭代次数使得算法收敛;
    • 过大,使得每次迭代时theta的变化量过大,可能在变化(迭代)过程中越过最优(收敛)点。直观地:

正常的收敛应大致如下:

1.2 Linear Regression with multiple variables

在实际生活中,一个量通常受很多变量的影响。同样以房价为例:

此时相应的量(函数)有如下变化:theta从2维变成了n+1维向量;从而hypothesis function为下图所示(注意定义x0=1的小细节):

同样的,可以用梯度下降法来解决多变量线性回归问题。

注意与单变量线性回归对应的变化和联系。事实上,单变量线性回归是多变量线性回归的特殊情况(n=1)。

1.2.1 Feature Scaling(数据规范化)

不同的特征量由于单位不同,可能在数值上相差较大,Feature Scaling可以去量纲,减少梯度下降法的迭代次数,提高速度,所以在算法执行前通常需要Feature Scaling。直观上来说,考虑两个特征量,规范化前的椭圆很瘪,可能导致收敛的路径变长,数据规范化后使得椭圆较均匀,缩短收敛路径,如下:

下面给出一种规范化策略:

  1. 求每个特征量X的平均值mean
  2. 求每个特征量X的标准差segma         (matlab中std()函数)
  3. 规范化:X = (X-mean) / sigma

1.2.2 Features and polynomial regression

有时候,我们可以将某些特征量联合成一个新的特征量或许可以得到更好的结果,例如要预测房价,考虑到房价主要由area决定,不妨将特征量frontage和depth联合成一个新的特征量area.

对于有些情况,线性回归的结果可能不是很理想,可以考虑多项式回归。注意应该结合实际考虑选择几次的多项式,例如下面的例子,特征量是size,目标量是price,所以就不应该选择二次多项式,否则会出现size增大而price变小的情况,不符合实际情况。

1.2.3 Normal equation(正则方程)

Normal equation: Method to solve for analytically.

首先考虑cost function J的自变量theta为一维的情况,这时的J为关于theta的一元二次函数,可以直接求导得到最小值点,如下图所示:

下面对Gradient Descent 和 Normal Equation做一下比较

  • m = 20000, n = 10000,优先考虑Gradient Descent
  • m = 20000, n = 10, 优先考虑Normal Equation

1.2.4  Probalilistic interpretation for cost function

参考:https://www.coursera.org/learn/machine-learning/

Stanford机器学习笔记-1.线性回归相关推荐

  1. coursera机器学习笔记-多元线性回归,normal equation

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  2. 机器学习笔记:线性回归

    假设有如下数据 这些数据符合以下图关系(以一维数据为例),这里的函数f(w)忽略了偏置b 1 最小二乘估计 我们的目标是要求w,使得Xw和实际值y最近.所以我们对w求导,让结果等于0.就可以解得参数w ...

  3. Stanford机器学习笔记-6. 学习模型的评估和选择

    6. 学习模型的评估与选择 Content 6. 学习模型的评估与选择 6.1 如何调试学习算法 6.2 评估假设函数(Evaluating a hypothesis) 6.3 模型选择与训练/验证/ ...

  4. 机器学习笔记(6) 线性回归

    先从最简单的例子开始,假设我们有一组样本(如下图的一个个黑色的圆点),只有一个特征,如下图,横轴是特征值,纵轴是label.比如横轴是房屋面积,纵轴是房屋价格. 现在我们要做什么呢?我们试图找到一条直 ...

  5. 白板机器学习笔记 P9-P12线性回归

    视频地址:https://www.bilibili.com/video/BV1aE411o7qd?p=9 笔记地址:https://www.yuque.com/books/share/f4031f65 ...

  6. 机器学习笔记02——线性回归

    周志华<机器学习>第三章 https://blog.csdn.net/weixin_45666566/article/details/107137877      其他up主博客总结 目录 ...

  7. 机器学习笔记(1)——线性回归

    线性回归 前言 正文 step1 build model 最简单的模型--一元线性模型: 稍复杂一点--多元线性模型: step2 Goodness of Function Loss function ...

  8. 吴恩达机器学习笔记 —— 3 线性回归回顾

    http://www.cnblogs.com/xing901022/p/9312028.html 更多内容参考 机器学习&深度学习 矩阵的表示 矩阵的索引 向量的表示 矩阵的加法 矩阵与实数的 ...

  9. Stanford机器学习笔记-4. 神经网络Neural Networks (part one)

    4. Neural Networks (part one) Content: 4. Neural Networks (part one) 4.1 Non-linear Classification. ...

最新文章

  1. AUTOVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss代码调试过程
  2. FaaS — Serverless Computing(无服务器计算)
  3. 吴恩达深度学习笔记3-Course1-Week3【浅层神经网络】
  4. lammps软件_Lammps模型构建的方法之一:组合模型构建
  5. lte核心网由哪些设备组成_电气设备安装工程由哪些部分组成?
  6. 教研教改课题 php,乘课题研究东风,掀教研教改高潮
  7. python语言的读法-Python语言的优势有哪些?
  8. php 405,php Restler 405 Method Not Allowed 问题解决啦,restlerallowed_PHP教程
  9. html+css做圆角表格
  10. 基于DEMATEL-ISM法的民航飞行员综合安全能力结构模型研究
  11. layerDate 时间插件
  12. chrome安装crx文件
  13. Flink 1.12 内存和提交参数
  14. 一次性听懂英语影视节目的真实经历和经验谈
  15. Windows 下自定义某类型文件图标(例如.h5,.ipynb)
  16. 是否需要这么一支“特别行动队”?
  17. iOS 应用内购买(In-App Purchase)之开发
  18. 与谷歌AI领军科学家一较高下的梦想如何反应了中国对科技突破的追求?
  19. Tarena - 基础查询
  20. 转: 测试工具LoadRunner和OpenSTA比较分析

热门文章

  1. java高级工程师开放面试题集一
  2. 机器学习实战读书笔记(1)
  3. java实现sql批量插入参数
  4. 【Json】json解析
  5. 百度语音识别技术负责人李先刚:如何利用Deep CNN大幅提升识别准确率?
  6. 灰度图像--图像增强 非锐化掩蔽 (Unsharpening Mask) .
  7. c语言函数之间互相调用符号,如何实现C和C++函数互相调用
  8. 卸载 流程_如何正确安装卸载mac软件
  9. 算法与数据结构(Java解八皇后问题)
  10. jvm性能调优 - 17案例实战_每日上亿请求量的电商系统 老轻代垃圾回收参数如何优化