Stanford机器学习笔记-1.线性回归

摘要:
通常,现有可用数据称为数据集或训练集。然后,设置适当的学习速率来更新θ。同样,以房价为例:此时,对应的量(函数)变化如下:θ从2维变为n+1维;因此,假设函数如下图所示:同样,梯度下降法可以用于解决多变量线性回归问题。注意与单变量线性回归相对应的变化和联系。

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的关系,如下图。

Stanford机器学习笔记-1.线性回归第1张

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

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

Stanford机器学习笔记-1.线性回归第2张

1.1.1 Gradient descent algorithm (梯度下降法)

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

Stanford机器学习笔记-1.线性回归第3张

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

Stanford机器学习笔记-1.线性回归第4张

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

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

Stanford机器学习笔记-1.线性回归第5张

带入得:

Stanford机器学习笔记-1.线性回归第6张

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

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

Stanford机器学习笔记-1.线性回归第7张

Stanford机器学习笔记-1.线性回归第8张

正常的收敛应大致如下:

Stanford机器学习笔记-1.线性回归第9张

1.2 Linear Regression with multiple variables

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

Stanford机器学习笔记-1.线性回归第10张

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

Stanford机器学习笔记-1.线性回归第11张

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

Stanford机器学习笔记-1.线性回归第12张

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

Stanford机器学习笔记-1.线性回归第13张

1.2.1 Feature Scaling(数据规范化)

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

Stanford机器学习笔记-1.线性回归第14张

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

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

Stanford机器学习笔记-1.线性回归第15张

1.2.2 Features and polynomial regression

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

Stanford机器学习笔记-1.线性回归第16张

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

Stanford机器学习笔记-1.线性回归第17张

1.2.3 Normal equation(正则方程)

Normal equation: Method to solve for analytically.

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

Stanford机器学习笔记-1.线性回归第18张

Stanford机器学习笔记-1.线性回归第19张

Stanford机器学习笔记-1.线性回归第20张

Stanford机器学习笔记-1.线性回归第21张

Stanford机器学习笔记-1.线性回归第22张

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

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

Stanford机器学习笔记-1.线性回归第23张

1.2.4 Probalilistic interpretation for cost function

Stanford机器学习笔记-1.线性回归第24张

Stanford机器学习笔记-1.线性回归第25张

Stanford机器学习笔记-1.线性回归第26张

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

免责声明:文章转载自《Stanford机器学习笔记-1.线性回归》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Haskell学习笔记JavaScript中的Date类型计算时间差下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

tensorflow 2.0 学习(二)线性回归问题

线性回归问题 1 # encoding: utf-8 2 3 import numpy as np 4 import matplotlib.pyplot as plt 5 6 data = [] 7 for i in range(100): 8 x = np.random.uniform(-10., 10.) #均匀分布产...

拓端数据tecdat|R语言贝叶斯线性回归和多元线性回归构建工资预测模型

原文链接:http://tecdat.cn/?p=21641  工资模型 在劳动经济学领域,收入和工资的研究为从性别歧视到高等教育等问题提供了见解。在本文中,我们将分析横断面工资数据,以期在实践中使用贝叶斯方法,如BIC和贝叶斯模型来构建工资的预测模型。 加载包 在本实验中,我们将使用dplyr包探索数据,并使用ggplot2包进行数据可视化。我们也可...

破解数据匮乏现状:纵向联邦学习场景下的逻辑回归(LR)

摘要:主要介绍了华为云可信智能计算服务(TICS)采用的纵向联邦逻辑回归(LR)方案。 本文分享自华为云社区《纵向联邦学习场景下的逻辑回归(LR)》,作者: 汽水要加冰。 海量训练数据是人工智能技术在各个领域成功应用的重要条件。例如,计算机视觉和商务经融推荐系统中的 AI 算法都依靠大规模标记良好的数据才能获得较好的推理效果。然而在医疗、银行以及一些政务...

机器学习(3)——多变量线性回归

【一、多变量线性回归模型】 多变量线性回归是指输入为多维特征的情况。比如: 在上图中可看出房子的价格price由四个变量(size、number of bedrooms、number of floors 、age of home)决定。为了能够预測给定条件(四个变量)下的房子的价格(y),我们须要建立对应的线性回归模型。 如果有n个变量,则对应的多变量...

SPSS实例教程:多重线性回归,你用对了么

SPSS实例教程:多重线性回归,你用对了么 在实际的医学研究中,一个生理指标或疾病指标往往受到多种因素的共同作用和影响,当研究的因变量为连续变量时,我们通常在统计分析过程中引入多重线性回归模型,来分析一个因变量与多个自变量之间的关联性。 一、多重线性回归的作用 多重线性回归模型在医学研究领域得到了广泛的应用,其作用主要体现在以下几个方面: 1、探索对于...

线性回归理解及代码实现

github:代码实现之一元线性回归、代码实现之多元线性回归与多项式回归本文算法均使用python3实现 1. 什么是线性回归   《机器学习》对线性回归的定义为: 给定数据集 $ D = lbrace (x^{(1)}, y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(m) } ,y^{(m)}) brace $ ,其中 $ x...