[斯坦福大学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处理数据。


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

查看所有标签

猜你喜欢:

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

Programming Ruby

Programming Ruby

Dave Thomas、Chad Fowler、Andy Hunt / Pragmatic Bookshelf / 2004-10-8 / USD 44.95

Ruby is an increasingly popular, fully object-oriented dynamic programming language, hailed by many practitioners as the finest and most useful language available today. When Ruby first burst onto the......一起来看看 《Programming Ruby》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具