[斯坦福大学2014机器学习教程笔记]第五章-基本操作

栏目: IT技术 · 发布时间: 4年前

在这一章中我们将学习一些Octave编程语言。我们可以通过它迅速实现我们已经学过的或者后面要学的机器学习算法。

在这节中,我们将学习一系列的Octave的命令。

首先,我们先要打开Ocatve,接着我们输入一些简单的式子,可以看到我们很快就能得到结果。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

除了这些,我们还可以做一些逻辑运算。例如,1==2(显然这个结果为假),这里用%表示注释。我们可以看到这里用0表示结果为假。1 ~= 2(1不等于2,结果为真),因此这里返回1。1&&0(逻辑与),结果为0。1||0(逻辑或),结果为1。xor(1,0)(异或运算),结果为1。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

我们可以看到前几行开头都是Octave-3.2.4.exe:6>,这是默认的Octave提示符。显示了Octave的版本以及其他信息。如果你不想看到它,你可以用一个隐藏命令 PS1('>>'); 来改变提示字符(两个单引号间是你喜欢的提示符)。然后我们就能看到提示符会改变。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

下面要讲的是Octave的变量。

现在写一个变量,对变量赋值为3,并按下回车键,显示变量等于3。

如果你想分配一个变量,但不希望在屏幕上显示结果,你可以在命令后加一个分号,可以抑制打印输出,敲入回车后,不打印任何东西。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

接下来举一个字符串的例子:变量b等于字符串"hi"。然后我们输入b,它就会被显示出来。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作 [斯坦福大学2014机器学习教程笔记]第五章-基本操作

然后,我们让变量c=(3>=1),显然c的值应该为1。输入c,显示出来c=1。

如果你想打印出或者显示一个变量,有下面几种形式。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

(1)如果想显示变量a,我们可以直接输入a。

(2)对于复杂一点的输出,我们可以使用 DISP命令 。我们可以用它来输出字符串,如 disp(sprintf('2 decimals: %0.2f', a)) ,0.2%f表示只显示小数点后两位数字。

(3)如果输入 format long 可以显示更多的小数点后位数, format short 默认输出少量的小数点后位数。

下面让我们看看向量和矩阵。

让我们建立一个矩阵A, A=[1 2; 3 4; 5 6] ,这会产生应该三行两列的矩阵A,第一行是1、2,第二行是3、4,第三行是5、6。分号的作用就是矩阵换行到下一行。如下图所示,还有其他的定义方法。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

我们可以用同样的方法建立向量。我们可以定义一个行向量 V=[1 2 3] ,还可以定义列向量 V=[1;2;3]

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

下面介绍的符号。是一些更为有用的符号。 V=1: 0.1: 2 ,这个可以理解成V是一组值, 从1开始,增量或者说步长为0.1,直到增加到2 。按照这样的方法,V将成为一个行向量。我们还可以让 V=1:6 ,这样V就被赋值为 1到6的六个整数

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

还有一些方法用来生成矩阵。

ones (2,3)用来生成一个2x3的矩阵,而且 矩阵中所有元素都为1

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

如果我们设置C = 2*ones (2,3),这样C就是一个 全部元素均为2 的2x3的矩阵。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

我们还可以设w = zeros (1,3),这样就会生成一个1x3的 零矩阵

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

我们还可以让w = rand (1,3),我们会得到一个1x3的 随机矩阵

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

如果我们输入rand(3,3),我们会得到一个3x3的矩阵,而且所有的元素都是在0到1之间的随机值。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

如果你知道高斯随机变量或者你知道正态分布的随机变量,你就可以设置w = randn( 1,3),我们就会得到三个数值。 它们服从高斯分布,均值为0,标准差或者方差为1

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

我们还可以设置更复杂的,如w = -6 + sqrt(10) * (randn(1,10000)),这个会得到一个有10000个元素的向量(如下图所示)。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

如果我们现在用 hist(w) 命令,就会绘制成一个 直方图

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

最后,再介绍一种生成矩阵的特殊命令。

eye表示生成单位矩阵 。如eye(4),就是一个4x4的单位矩阵。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

如果对于命令不清楚的话可以使用 帮助命令help 。如help eye,它会显示单位矩阵的帮助函数。

[斯坦福大学2014机器学习教程笔记]第五章-基本操作

这些只是一些简单的命令。在后面的课程中,会讲解更多复杂的命令和数据处理方法,并开始用Octave处理数据。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Android编程权威指南(第3版)

Android编程权威指南(第3版)

比尔·菲利普斯 (Bill Phillips)、克里斯·斯图尔特 (Chris Stewart)、克莉丝汀·马西卡诺 (Kristin Marsicano) / 王明发 / 人民邮电出版社 / 2017-6 / 129.00元

Big Nerd Ranch 是美国一家专业的移动开发技术培训机构。本书主要以其Android 训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android 编程权威指南。全书共36 章,详细介绍了8 个Android 应用的开发过程。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得宝贵的开发经验。 第3 版较之前版本增加了对数据绑定等新工具的介......一起来看看 《Android编程权威指南(第3版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具