吴恩达机器学习总结五:单变量线性回归实战
线性回归实战总结:
单变量线性回归:
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单变量线性回归
机器学习 (小白通俗理解) 机器学习包括监督学习和无监督学习 监督学习 首先,监督学习,我们所给的数据集由正确答案组成,计算机根据正确数据集对未知样本进行结果预测 无监督学习 无监督学习,所给数据集并 ...
- 吴恩达机器学习python作业之多变量线性回归
建议先看单变量线性回归再看多变量线性回归哦. 参考链接: (7条消息) 吴恩达|机器学习作业1.1多变量线性回归_学吧学吧终成学霸的博客-CSDN博客 数据集:一共三列,左边两列是自变量x,最右边一列 ...
- 吴恩达机器学习(五)正则化(解决过拟合问题)
目录 0. 前言 1. 正则化(Regularization) 2. 线性回归中的正则化 3. 逻辑回归中的正则化 学习完吴恩达老师机器学习课程的正则化,简单的做个笔记.文中部分描述属于个人消化后的理 ...
- 吴恩达机器学习(二)多元线性回归(假设、代价、梯度、特征缩放、多项式)
目录 0. 前言 1. 假设函数(Hypothesis) 2. 代价函数(Cost Function) 3. 梯度下降(Gradient Descent) 4. 特征缩放(Feature Scalin ...
- 干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归
吴恩达Coursera机器学习课系列笔记 课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础 1 Linear Regression with Multiple Variable ...
- 吴恩达机器学习个人笔记03——多变量线性回归
目录 3.1 多维特征 3.2 多变量梯度下降 3.3 梯度下降法实践1-特征缩放 3.4 梯度下降法实践2-学习率 3.5 特征和多项式回归 3.6 正规方程 3.7 正规方程及不可逆性 下节将介绍 ...
- matlab版吴恩达机器学习第五章笔记
机器学习matlab操作基础 1.基本操作 2.移动数据 3.计算数据 4.绘图数据 5.控制语句:for,while,if语句 6.向量化 1.基本操作 参考视频: 5 - 1 - Basic Op ...
- 吴恩达机器学习笔记五之神经网络
本节目录: 1.非线性假设 2. 神经元和大脑 3. 模型表示 4. 特征的直观理解 5. 样本的直观理解 6. 多类分类 1 非线性假设 假设我们希望训练一个模型来识别视觉对象(例如识别一张图片上是 ...
- 西瓜书+实战+吴恩达机器学习(五)监督学习之线性判别分析 Linear Discriminant Analysis
文章目录 0. 前言 1. 线性判别分析参数求解方法 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 线性判别分析LDA的思想非常朴素:给定数据集,设法将样例投影 ...
最新文章
- 重构一个功能块的总结
- Vue 路由router的两种模式
- 博客编辑工具ckeditor
- 顶级程序员的心得 Coders at Work (II)
- python安装matplotlib需要c编译_新安装matplotlib时缺少cbook
- excel函数与公式实战技巧精粹_excel函数技巧:两个查询函数的用法比较 下
- Consecutive Factors (20)
- 走近源码:Redis的启动过程
- java类图_Java开发设计——UML类图
- 十大计算机恶意软件排行榜发布
- 人类的终极目标是什么?
- 9、recoil库的基本使用
- TI官网注册账号一直卡人机识别问题
- linux目录结构 (ubuntu1204)
- ts.to_csv('examples/tseries.csv') !type examples\tseries.csv失败的问题
- 织梦后台内容模型使用教程
- 黑龙江职业学院计算机考试,黑龙江职业学院官网
- 医院信息系统三级等保系统测评
- 树莓派4B-Python-控制DS18B20(温度传感器)
- iOS:源生二维码扫描和制作