线性回归实战总结:
单变量线性回归:
1、加载和查看数据(准备工作)

data = load(‘ex1data1.txt’);
x=data(:,1);
y=data(:,2);
plot(x,y,’rx’,’markersize’,10);
xlabel(‘population’);
ylabel(‘profit’);

2、定义代价函数(准备工作,递归下降的时候要调用)
定义输入:X,y,参数theta
单变量线性回归定义式:
这里可以看出参数为2*1矩阵,为方便矩阵计算,因为x的列数要等于θ的行数
所以假设x0=1,即θ0=θ0*x0,把所有x最左边加一列1,扩展为两列的X矩阵
m=length(x) //获得x矩阵的行数
X=[ones(m,1),x]; //构造一个跟x相同行数的全1的列向量,并和x合并成X矩阵
theta=zeros(2,1);//构造2*1的零矩阵theta
定义输出:计算在当前参数theta的情况下,系统的代价函数值

function J = computeCost(X, y, theta)
J=0; //初始化代价函数值J
m=length(y) //计算样本个数,就是上式中的m,后边要用
predict = X*theta; //计算根据当前参数计算出的预测值
J = sum((predict-y).^2)/(2*m) //计算上式,返回代价函数值
end
3、递归下降法寻找参数局部最优解
(参数迭代方程)
定义迭代下降函数:
定义输入:X,y,theta(计算代价函数),alpha,iterations
其中α确定每次迭代的步长,这里暂设为0.01
还要指定迭代次数,因为可能永远迭代不完,暂定为1500次
alpha=0.01;
iterations=1500;
定义输出:theta(最终求得参数构造预测函数)、J_history(记录代价函数值,用于检验)
function [theta, J_history] = gradientDescent(X, y, theta, alpha, num_iters)
m = length(y);
J_history = zeros(num_iters,1);
for i = 1:num_iters
theta = theta-alpha/m*(X’*(X*theta-y));
J_history(i,1)=computeCost(X,y,theta);
end
end
在函数中调用:
[theta,J_history]=gradientDescent(X,y,theta,alpha,iterations);
4、检验迭代过程是否正确
绘制每一步迭代的代价函数值的变化图,看代价函数值是不是一直在下降:

将参数带入表达式,用表达式进行预测:

按照预测方程将原始数据的属性带进去,得到预测值,发现就在那条直线上,然后与真实数据差异较大,因为真实数据可能本来也不是线性关系

吴恩达机器学习总结五:单变量线性回归实战相关推荐

  1. 吴恩达机器学习笔记 1单变量线性回归

    机器学习 (小白通俗理解) 机器学习包括监督学习和无监督学习 监督学习 首先,监督学习,我们所给的数据集由正确答案组成,计算机根据正确数据集对未知样本进行结果预测 无监督学习 无监督学习,所给数据集并 ...

  2. 吴恩达机器学习python作业之多变量线性回归

    建议先看单变量线性回归再看多变量线性回归哦. 参考链接: (7条消息) 吴恩达|机器学习作业1.1多变量线性回归_学吧学吧终成学霸的博客-CSDN博客 数据集:一共三列,左边两列是自变量x,最右边一列 ...

  3. 吴恩达机器学习(五)正则化(解决过拟合问题)

    目录 0. 前言 1. 正则化(Regularization) 2. 线性回归中的正则化 3. 逻辑回归中的正则化 学习完吴恩达老师机器学习课程的正则化,简单的做个笔记.文中部分描述属于个人消化后的理 ...

  4. 吴恩达机器学习(二)多元线性回归(假设、代价、梯度、特征缩放、多项式)

    目录 0. 前言 1. 假设函数(Hypothesis) 2. 代价函数(Cost Function) 3. 梯度下降(Gradient Descent) 4. 特征缩放(Feature Scalin ...

  5. 干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归

    吴恩达Coursera机器学习课系列笔记 课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础 1 Linear Regression with Multiple Variable ...

  6. 吴恩达机器学习个人笔记03——多变量线性回归

    目录 3.1 多维特征 3.2 多变量梯度下降 3.3 梯度下降法实践1-特征缩放 3.4 梯度下降法实践2-学习率 3.5 特征和多项式回归 3.6 正规方程 3.7 正规方程及不可逆性 下节将介绍 ...

  7. matlab版吴恩达机器学习第五章笔记

    机器学习matlab操作基础 1.基本操作 2.移动数据 3.计算数据 4.绘图数据 5.控制语句:for,while,if语句 6.向量化 1.基本操作 参考视频: 5 - 1 - Basic Op ...

  8. 吴恩达机器学习笔记五之神经网络

    本节目录: 1.非线性假设 2. 神经元和大脑 3. 模型表示 4. 特征的直观理解 5. 样本的直观理解 6. 多类分类 1 非线性假设 假设我们希望训练一个模型来识别视觉对象(例如识别一张图片上是 ...

  9. 西瓜书+实战+吴恩达机器学习(五)监督学习之线性判别分析 Linear Discriminant Analysis

    文章目录 0. 前言 1. 线性判别分析参数求解方法 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 线性判别分析LDA的思想非常朴素:给定数据集,设法将样例投影 ...

最新文章

  1. 重构一个功能块的总结
  2. Vue 路由router的两种模式
  3. 博客编辑工具ckeditor
  4. 顶级程序员的心得 Coders at Work (II)
  5. python安装matplotlib需要c编译_新安装matplotlib时缺少cbook
  6. excel函数与公式实战技巧精粹_excel函数技巧:两个查询函数的用法比较 下
  7. Consecutive Factors (20)
  8. 走近源码:Redis的启动过程
  9. java类图_Java开发设计——UML类图
  10. 十大计算机恶意软件排行榜发布
  11. 人类的终极目标是什么?
  12. 9、recoil库的基本使用
  13. TI官网注册账号一直卡人机识别问题
  14. linux目录结构 (ubuntu1204)
  15. ts.to_csv('examples/tseries.csv') !type examples\tseries.csv失败的问题
  16. 织梦后台内容模型使用教程
  17. 黑龙江职业学院计算机考试,黑龙江职业学院官网
  18. 医院信息系统三级等保系统测评
  19. 树莓派4B-Python-控制DS18B20(温度传感器)
  20. iOS:源生二维码扫描和制作

热门文章

  1. LAMP 3.2 mysql登陆
  2. 基于jdk proxy的动态代理模式
  3. 如何查看IIS的80端口被占用?
  4. Lateral View使用指南
  5. 【Statistics】均值
  6. iOS-UITableView的优化(纯手打原创)
  7. memcached在大负载高并发网站上的应用(一)
  8. firefox os 2.0版模拟器QQ初体验
  9. ZOJ Problem Set - 1009
  10. d).关于steal lock