machine learning (2)-linear regression with one variable
machine learning- linear regression with one variable(2)
- Linear regression with one variable = univariate linear regression: 由一个输入变量预测出一个output (regression problem预测连续的值). single input<--->single output
- training set: 机器进行学习的元素集
- univariate linear regression = Linear regression with one variable
The Hypothesis Function(for linear regression):,这是一个关于x的函数(θ0与θ1是固定的).这是一个假设的函数(求出假设的 θ0 和 θ1,这个是我们的目标,愈近的接近真实的y值),这样可以根据input value(x)来计算output value(y)
Cost Function(for linear regression): (y为真实的值),这是一个关于θ1与θ2(parameters)的函数,用来衡量假设函数(hypothesis function)的准确性,目的是选择使cost function最小的θ1与θ2的值,这样就能确定假设函数(Hypothesis Function)了.
- 图片
- Squared error function = cost function
- Mean squared error = cost function
Gradient Descent: 一种用来自动提高hypothesis function准确性的方法,使cost function取最小值(不仅适用于linear regression,可用于整个机器学习).
图片 (非cost function for linear regression,一般情况下的J(θ0,θ1))
- 由上图可知,不同的初始值,利用gradient descent可能得出不同的局部最优解(有不同的极小值)
大概方法步骤:
function: J(θ0,θ1)
目标: 求出J(θ0,θ1)的最小值
- 先预设 θ0,θ1的值
- 利用gradient descent反复求θ0,θ1的值
- 直至θ0,θ1的值收敛于一个确定的值(J(θ0,θ1)的极小值),(收敛是因为当到达极值时,cost function的偏导为0,这时会收敛)
- learning rate: ∂(大于0),朝着cost function的梯度方向以a(learning rate)系数倍数逼近cost function(θ0,θ1为参数)的最小值。
- learning rate太小:使求出收敛的值时迭代的次数变多,使收敛过程变慢(下图是假设θ0已知,θ1未知时的cost function图形,若都未知则图应是立体的,如上图)
- learning rate太大:可能会导致无法收敛,得不到正确的值(下图是假设θ0已知,θ1未知时的cost function图形,若都未知则图应是立体的,如上图)
- The gradient descent equation: (j=0,1)
- :=为赋值操作,=为truth assertion操作
- 要同时更新θ0,θ1的值(update simultaneously),即算出θ0的新值后,不能利用这个新值的J(θ0,θ1)去算θ1,而是同时更新θ0,θ1
- 求的是局部最优解(即cost function的极小值,但是不是最小值)
- 但是由cost function for linear regression的图(像一个碗状)可知,它只有一个极小值(也是它的最小值),所以对于linear regression问题,gradient descent求的是cost function的最小值
Gradient Descent for Linear Regression:(是将h(x)=θ0+θ1x和J(θ0,θ1)代入求导求得)
- cost function for linear regression由它的图(上图)可知,它没有局部极小值,只有一个全局最小值。所以用gradient descent求出的是使cost function取最小值的θ0,θ1
- "batch" gradient descent = gradient descent algorithm,因为在计算θ0,θ1时是利用了所有的trainning set,帮称为batch
machine learning (2)-linear regression with one variable的更多相关文章
- Machine Learning #Lab1# Linear Regression
Machine Learning Lab1 打算把Andrew Ng教授的#Machine Learning#相关的6个实验一一实现了贴出来- 预计时间长度战线会拉的比較长(毕竟JOS的7级浮屠还没搞 ...
- CheeseZH: Stanford University: Machine Learning Ex1:Linear Regression
(1) How to comput the Cost function in Univirate/Multivariate Linear Regression; (2) How to comput t ...
- 【Coursera - machine learning】 Linear regression with one variable-quiz
Question 1 Consider the problem of predicting how well a student does in her second year of college/ ...
- Machine learning(2-Linear regression with one variable )
1.Model representation Our Training Set [训练集]: We will start with this ''Housing price prediction'' ...
- Machine Learning 学习笔记2 - linear regression with one variable(单变量线性回归)
一.Model representation(模型表示) 1.1 训练集 由训练样例(training example)组成的集合就是训练集(training set), 如下图所示, 其中(x,y) ...
- [Machine Learning] 单变量线性回归(Linear Regression with One Variable) - 线性回归-代价函数-梯度下降法-学习率
单变量线性回归(Linear Regression with One Variable) 什么是线性回归?线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方 ...
- Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable
原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- Stanford机器学习---第一讲. Linear Regression with one variable
原文:http://blog.csdn.net/abcjennifer/article/details/7691571 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- 机器学习 (一) 单变量线性回归 Linear Regression with One Variable
文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang的个人笔 ...
随机推荐
- Linux安装卸载JDK完整步骤
1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version "1.8.0_102" O ...
- OpenJudge 2755:神奇的口袋
总时间限制: 10000ms 内存限制: 65536kB 描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40.John现在有n个想要得到的物品,每个物品的体 ...
- Java 8 Optional 的用法
认识Optional Optionals是用于防止 NullPointerException 的漂亮工具.让我们快速了解一下Optionals的工作原理. Optional 是一个简单的容器,其值 ...
- Json 文件读写以及和IniFile 转换
JSON 文件是越来越受欢迎了,以前程序配置文件用Ini,Ini 简练,简单.方便,但是也有不少缺点,比如,没有 JSON 直观,无法存储复杂点的数据类型. 于是乎,我封装了一个TJsonFile 的 ...
- A Simple Question of Chemistry
#include<stdio.h> int main() { int i, l; ]; ]; l = ; ) { l++; } ; a[i]!= && i<l; i+ ...
- TZOJ5255: C++实验:三角形面积
#include<iostream> #include<iomanip> #include<math.h> #include<cmath> using ...
- 协议——VGA
VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高.显示速率快.颜色丰富等优点,在彩色显示器领域得到了广泛的应用.不支持热插拔, ...
- 记录:拷贝gitblit里的项目使用git命令clone、pull、push等,出现一直在加载,卡住没反应的问题
俺想克隆别人gitblit里的其中一个版本库(俺在别人gitblit有权限) 懂得git的道友们,都应该知道克隆一个公共项目,随便找到,打开git终端,输入git clone 项目地址就行了 到了俺这 ...
- 启动Spring boot项目报错:java.lang.IllegalArgumentException: LoggerFactory is not a Logback
java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on t ...
- SQL Server中,常用的全局变量
在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值.全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数.下表就是SQL Server中一些常用的全局变量. 全局 ...