机器学习-review-1 线性回归
发现隔一段时间,忘记了好多知识点,这里认为重要的知识点记录下来,作为笔记,方便以后回顾。
From “李航- 统计学习方法” 统计学习方法的三要素: 模型,策略, 算法
对于线性回归
-----------------------------------------------------模型-----------------------------------------------------
利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归.
-----------------------------------------------------策略-----------------------------------------------------
线性回归模型经常用最小二乘逼近来拟合
对于只包含一个x自变量,可得出如下公式。 多个变量线性函数为 H(x) = Φ0 + Φ1*X1 + Φ2*X2 + ... + Φn*Xn
X, Y 值已知, J(Φ) 转化为 Φ0 和 Φ1的函数。 问题从选择最优的H(Φ)转化为求解 minJ(Φ)。因为H(Φ) 为线性函数,因此J(Φ) 为如下形态, 具有唯一最优解。
-----------------------------------------------------算法-----------------------------------------------------
将上图投射到平面上,形成的等高线(应该术语称为等高线), 问题进一步变为如何求得中间红星位置的Φ0 和 Φ1 是的J(Φ) 最小
Gradient Descent 算法: 从某一特定的值开始修改Φ0 和 Φ1 直到J(Φ) 最小。(此方法为机器学习中一种通用的算法,不仅限于线性回归)
对于偏导数Φ := Φ - a * (dJ(Φ))/dΦ, Φ 将向极值收敛, a 控制收敛的速度。
将偏导数带入得到线性回归的迭代方法, 如图所示:
--------------------------------------------------------------------------------------------------------------------
在实践过程中需要注意的一些技巧和方法(也合适于其他机器学习算法)
(1)学习速度的控制和取值:太小则会导致收敛较慢,太大可能会越过极值,从而无法到达收敛点
可供借鉴的方法如下,取各个数量级的a 来观测函数J(Φ)的收敛情况,每次收敛的变化>= 0.001
(2)feature scaling
对多个自变量,如果某个自变量的取值相对于其他自变量的数值较大,则需要规格化。否则其他自变量对于J(Φ)的影响和变化就很小。
可通过如下方法,将每个自变量规格化到[-0.5, 0.5]的区间内,再进行求解。
(3) 对feature X1, X2, ..., XN的选择。将一个或者多个自变量的多次项的值引入做个一个线性自变量。
PS:记得在NG之前的公开课(163上有), 介绍过Newton 迭代法,是另一种高效的快速迭代算法。
机器学习-review-1 线性回归的更多相关文章
- Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)
title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ...
- 机器学习:单元线性回归(python简单实现)
文章简介 使用python简单实现机器学习中单元线性回归算法. 算法目的 该算法核心目的是为了求出假设函数h中多个theta的值,使得代入数据集合中的每个x,求得的h(x)与每个数据集合中的y的差值的 ...
- coursera机器学习笔记-多元线性回归,normal equation
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
1. Multiple features(多维特征) 在机器学习之单变量线性回归(Linear Regression with One Variable)我们提到过的线性回归中,我们只有一个单一特征量 ...
- [机器学习Lesson4]多元线性回归
1. 多元线性回归定义 多元线性回归也被称为多元线性回归. 我们现在介绍方程的符号,我们可以有任意数量的输入变量. 这些多个特征的假设函数的多变量形式如下: hθ(x)=θ0+θ1x1+θ2x2+θ3 ...
- 【TensorFlow篇】--Tensorflow框架初始,实现机器学习中多元线性回归
一.前述 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,T ...
- 使用sklearn机器学习库实现线性回归
import numpy as np # 导入科学技术框架import matplotlib.pyplot as plt # 导入画图工具from sklearn.linear_model imp ...
- Python机器学习/LinearRegression(线性回归模型)(附源码)
LinearRegression(线性回归) 2019-02-20 20:25:47 1.线性回归简介 线性回归定义: 百科中解释 我个人的理解就是:线性回归算法就是一个使用线性函数作为模型框架($ ...
- 机器学习 (二) 多变量线性回归 Linear Regression with Multiple Variables
文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人 ...
- 机器学习:衡量线性回归法的指标(MSE、RMSE、MAE、R Squared)
一.MSE.RMSE.MAE 思路:测试数据集中的点,距离模型的平均距离越小,该模型越精确 # 注:使用平均距离,而不是所有测试样本的距离和,因为距离和受样本数量的影响 1)公式: MSE:均方误差 ...
随机推荐
- Jquery中去除左右空格
$.trim(" abc "); jQuery.trim(" abc ");
- Android Activity 生命周期详解
学习android开发这么久对于activity的生命周期还没有仔细思考过,所以,我大致的把这些东西整理一下,希望通过这使自己理解的更透彻点吧! 首先看一下Activity生命周期图和它的的四个阶段 ...
- GitHub命令精简教程
Github其实也可以作为文件分享的地方,但是免费空间只有300M,所以不能存放大文件,否则可以成为一个分享资源的下载站,而且非常方便. 常用命令: git add . //添加所有的文件到索引 ...
- em,pt和px之间的换算
任意浏览器的默认字体高度16px(16像素).所有未经调整的浏览器都符合: 1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的b ...
- PDO操作mysql数据库(一)
PHP连接mysql数据库: <?php$server = "localhost";$user = "root";$pwd = "123456& ...
- js实现幻灯片播放图片示例代码
幻灯片播放图片的效果想必大家都有见到过吧,下面有个不错的示例,感兴趣的朋友可以参考下 复制代码代码如下: <select id="img_date" style=" ...
- notepad++ :正则表达式系统教程
前言&索引 前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感.只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题. 索 ...
- C/C++易错点
问:void print( int arr[][], int size );这个函数声明是对是错? 当然是错的了,这个根本不是什么函数声明的问题,而是数组声明的问题,int arr[][]这个声明就是 ...
- 安卓手机无法连接VPN的解决办法
这篇不能算是技术博客吧,但是在网上很难找到解决方案,至少我找了好久也没弄好.. 三种方案,因机而异,我就长话短说了: 一. "/system/xbin" 和 "/syst ...
- jedis源码阅读
package redis.clients.jedis; import java.util.ArrayList; import java.util.HashSet; import java.util. ...