线性回归的补充与变量归一化
紧接上一篇博客,多变量梯度下降法的表达式形式与单变量一致,只是变量的扩充以及每次迭代需要对每个变量进行操作(同样是所有变量一次性更新)。假设函数、代价函数和梯度下降的表达式分别如下:
hθ(x)=θTxh_\theta(x)=\theta^Txhθ(x)=θTxJ(θ)=12m∑i=0m(hθ(xi)−yi)2J(\theta)=\frac{1}{2m}\sum_{i=0}^{m}(h_\theta(x_i)-y_i)^2J(θ)=2m1i=0∑m(hθ(xi)−yi)2KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲\theta_j:=\thet…
对于多变量,往往每个特征变量的取值范围差异很大,在利用梯度下降法进行迭代运算求J(θ)J(\theta)J(θ)的最小值时,迭代路径受数值大的变量影响较大,而数值小的变量可能会在最优值附近反复振荡,造成迭代路径的曲折,收敛缓慢。因此为了更快收敛,一般把各变量归一化成取值范围大概一致(feature scaling)。一般取−1≤xi≤1-1\leq x_i \leq 1−1≤xi≤1或者−0.5≤xi≤0.5-0.5 \leq x_i \leq 0.5−0.5≤xi≤0.5,(不是严格规定)。对于一个一般变量,通常取xi:=xi−μisix_i:=\frac{x_i-\mu_i}{s_i} xi:=sixi−μi这里μi\mu_iμi是xix_ixi的样本平均值,sis_isi是取值范围(max - min),或者sis_isi取为标准差。
[外链图片转存失败(img-69raoK7f-1562665150709)(https://img-my.csdn.net/uploads/201206/28/1340891220_5273.jpg)]
对于回归问题,显然假设函数hθ(x)h_\theta(x)hθ(x)并不是与每个特征变量均成线性关系,可能会出现如$h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2^2 $的形式,这称为多项式回归(Polynomial Regression)。
但是,可以通过适当变形把其转变为线性回归。在此例子中,令x2=x22x_2=x_2^2x2=x22,则hθ(x)=θ0+θ1x1+θ2x2h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2hθ(x)=θ0+θ1x1+θ2x2。此外,可令x3=x1x2x_3=x_1x_2x3=x1x2,x4=x1x_4=\sqrt{x_1}x4=x1等各种不同方式对变量变形,使其成为线性回归问题。运用变形后,变量范围的归一化就变得尤为重要。
另一种解线性回归问题的方法是标准方程法(Normal Equation),运用该方法,可以不需要迭代而直接求出θ\thetaθ。该方程如下:θ=(XTX)−1XTy\theta=(X^TX)^{-1}X^{T}yθ=(XTX)−1XTy
这里θ=[θ0θ1θ2...]\theta =\left[\begin{matrix}\theta_0\\\theta_1\\\theta_2\\...\end{matrix}\right]θ=⎣⎢⎢⎡θ0θ1θ2...⎦⎥⎥⎤,y=[y0y1y2...]y=\left[\begin{matrix}y_0\\y_1\\y_2\\...\end{matrix}\right]y=⎣⎢⎢⎡y0y1y2...⎦⎥⎥⎤,X=[x0(1)x1(1)x2(1)...x0(2)x1(2)x2(2)...x0(3)x1(3)x2(3)...............]X=\left[\begin{matrix}x_0^{(1)}&x_1^{(1)}&x_2^{(1)}&...\\x_0^{(2)}&x_1^{(2)}&x_2^{(2)}&...\\x_0^{(3)}&x_1^{(3)}&x_2^{(3)}&...\\...&...&...&...\end{matrix}\right]X=⎣⎢⎢⎢⎡x0(1)x0(2)x0(3)...x1(1)x1(2)x1(3)...x2(1)x2(2)x2(3)...............⎦⎥⎥⎥⎤
例子如下:
这个结论来源于线性代数中的投影,具体推导参考http://open.163.com/movie/2010/11/J/U/M6V0BQC4M_M6V2AJLJU.html
梯度下降法和标准方程法的比较:
Gradient Descent | Normal Equation |
---|---|
需要选择合适的参数α\alphaα | 不需要选择参数 |
需要多次迭代 | 不需要迭代 |
算法复杂度O(kn2)O(kn^2)O(kn2) | O(n3)O(n^3)O(n3),因要计算XTXX^TXXTX的逆矩阵 |
当样本数n很大时依然高效 | 样本数n很大时计算慢 |
如果XTXX^TXXTX不可逆,有以下两方面原因:
1、存在多余的特征变量,如其中两个特征变量存在线性关系,如x2=2x1x_2=2x_1x2=2x1;
2、相比较样本数据,特征变量太多,即m<nm<nm<n,这里mmm是样本个数,nnn是特征变量个数
在Octave/Matlab中,用pinv()代替inv()实现矩阵取逆,即使矩阵不可逆时也可以得到正确的结果。
即标准方程的代码实现为:
theta = pinv(X'*X)*X'*y;
线性回归的补充与变量归一化相关推荐
- matlab数据归一化(补充),matlab数据归一化(补充)
Yaksa版主对MATLAB中的归一化问题进行了详细的讲解和分析,下面我们对这议题进一步深入.再议归一化问题 [train_scale,test_scale,ps] = scaleForSVM(tra ...
- 【机器学习入门到精通系列】不废话直入正题之单变量线性回归(另附单变量非线性代码)
文章目录 1 Model Represention 2 Cost Function 3 Gradient Decent 4 Gradient Decent for regression的代码实现 1 ...
- 吴恩达机器学习1——单变量线性回归、梯度下降
目录 吴恩达机器学习第一周 一.什么是机器学习? 二.机器学习的分类 1. 监督学习 2. 非监督学习 3. 监督学习和非监督学习的举例 三.单变量线性回归(**Linear Regression w ...
- Tensorflow 笔记 Ⅱ——单变量线性回归
文章目录 核心步骤 (1)数据准备 (2)构建模型 (3)训练模型 (4)模型预测 单变量线性回归原理 监督式机器学习 迭代训练原理图 损失与损失函数 与损失函数相关的其中一个词汇叫收敛 与损失函数相 ...
- 1-线性回归之单变量线性回归基本原理的python实现
文章目录 单变量线性回归基本原理的python实现 1大环境准备 2jupyter工作路径的更改 3单变量线性回归 2.1数据读取 2.2特征构造 2.3其他准备 2.4线性回归主体 2.4.1计算代 ...
- 机器学习——标准化/归一化的目的、作用和场景
对每个特征进行归一化处理,使得每个特征的取值缩放到0~1之间.这样做有两个好处: 模型训练更高效. 特征前的权重大小可代表该变量对预测结果的贡献度(因为每个特征值本身的范围相同). (一)归一化的作用 ...
- 线性回归算法梳理——Test1
关于机器学习 概念 监督学习 输入数据被称为训练数据,它们有已知的标签或者结果,比如垃圾邮件/非垃圾邮件或者某段时间的股票价格.模型的参数确定需要通过一个训练的过程,在这个过程中模型将会要求做出预测, ...
- 【深度学习/机器学习】为什么要归一化?归一化方法详解
[深度学习/机器学习]为什么要归一化?归一化方法详解 文章目录 1. 介绍 1.1 什么是归一化 1.2 归一化的好处 2. 归一化方法 2.1 最大最小标准化(Min-Max Normalizati ...
- 线性回归(Linear Regression)和逻辑回归(Logistic Regression)
先举两个简单的例子,看上面的图片. 线性回归主要功能是拟合数据. 逻辑回归主要功能是区分数据,找到决策边界. 线性回归的代价函数常用平方误差函数. 逻辑回归的代价函数常用交叉熵. 参数优化的方法都是常 ...
最新文章
- CVPR 2020丨UDVD:用于可变退化的统一动态卷积超分辨率网络
- 20172328 2018-2019《Java软件结构与数据结构》第八周学习总结
- 谷歌宣布即将开放 .dev 顶级域名注册
- 一个UI布局框架,以最少的代码实现UI设置及布局控制
- Windows Phone开发者注册秘籍
- ping程序和tracert(traceroute)背后的故事--ICMP协议
- 如何把 Word 中的表格快速插入 LaTeX?
- 一个命名管道可以被多个客户端访问吗_Redis 的事务机制和管道技术Pipelining
- mysql的正则书写规则_MySql中正则表达式的使用方法描述
- MFC关键技术-命令传递机制
- 交换二叉树的每个节点的左右子树
- 锐捷交换机配置命令大全_锐捷交换机常用配置命令汇总
- css background 一半_CSS---阴阳图
- matlab有限域多项式除法_MATLAB极小值优化
- 袁永福的博客系列文章链接集合
- LOJ P10147 石子合并 题解
- 如何解决系统存储卡找不到,难一格式化的问题
- 360手机助手pc版 v2.4.0.1265 官方版
- 服务器共享文件设成禁止删除,服务器共享文件夹权限 禁止删除共享文件方法...
- windows win7电脑搜索功能失效怎么修复
热门文章
- B. Alyona and a Narrow Fridge( Codeforces Global Round 2)二分
- 童瑶担任奥伦纳素“冰白大使”,高端护肤品类加速扩张中国市场
- [iPhone-APP]手机归属地查询软件
- go语言之time包的使用
- 计算机产业能否迅速发展,工业计算机得到了迅速的发展和全面的普及
- pdf怎么编辑连续页码
- frontpage中没有动态HTML效果,FrontPage制作网页的动态效果(上)
- 【vim】禁止vim生成 un~文件
- scum服务器设置网站,SCUM服务器配置详解 参数设置推荐
- c罩杯尺码_教你三步正确测量内衣尺码!