matlab 机器学习入门

根据吴恩达机器学习教程总结,在matlab、octave均可使用

Matlab进行标量运算

>> 5 + 5

ans =

10

>> 6 * 2

ans =

12

>> 3^2

ans =

9

>> 3/2

ans =

1.5000

变量赋值

>> a = 3

a =

3

赋值语句后面加; 可以不输出结果

>> q = 3;

>> q

q =

3

字符输入时必须是单引号

>> b =‘hi‘;

>> b

b =

hi

并 或 运算

>> 1 && 0

ans =

0

>> 1||1

ans =

1

比较语句

>> 2 > 3

ans =

0

输出字符串

>> a =pi

a =

3.1416

>> disp(a)

3.1416

>> disp(sprintf(‘2 decimals: %0.2f‘,a))

2 decimals: 3.14

>> sprintf(‘hi‘)

ans =

hi

矩阵表示:

>> A = [1 2;3 4]

A =

1     2

3     4

向量表示

>> V = [1;2;3]

V =

1

2

3

从 1 开始 到2 终止步长为0.1的行向量

>> V = 1:0.1:2

V =

1.0000    1.1000    1.2000    1.3000    1.4000    1.5000    1.6000    1.7000    1.8000    1.9000    2.0000

1X2 全为1 矩阵

>> ones(1,2)

ans =

1     1

2X2全为0矩阵

>> zeros(2,2)

ans =

0     0

0     0

随机1X3 的矩阵

>> rand(1,3)

ans =

0.8147    0.9058    0.1270

对角线为全为1 的单位矩阵

>> eye(4)

ans =

1     0     0     0

0     1     0     0

0     0     1     0

0     0     0     1

help 查看内置函数的用法

>> help eye

eye Identity matrix.

eye(N) is the N-by-N identity matrix.

eye(M,N) or eye([M,N]) is an M-by-N matrix with 1‘s on

the diagonal and zeros elsewhere.

eye(SIZE(A)) is the same size as A.

eye with no arguments is the scalar 1.

eye(..., CLASSNAME) is a matrix with ones of class specified by

CLASSNAME on the diagonal and zeros elsewhere.

eye(..., ‘like‘, Y) is an identity matrix with the same data type, sparsity,

and complexity (real or complex) as the numeric variable Y.

Note: The size inputs M and N should be nonnegative integers.

Negative integers are treated as 0.

Example:

x = eye(2,3,‘int8‘);

See also speye, ones, zeros, rand, randn.

eye 的参考页

名为 eye 的其他函数

判断矩阵的形状

>> size(a)

ans =

1     1

>> size(A,1)

ans =

2

>> v = [1 2 3 4]

v =

1     2     3     4

>> size(v)

ans =

1     4

>> length(v)

ans =

4

显示当前工作目录(与Linux较为相似)

>> pwd

ans =

C:\Program Files\MATLAB\R2016a

进入某一目录

>> cd ‘C:\Users\scz\Desktop‘

>> pwd

ans =

C:\Users\scz\Desktop

显示当前目录下所有文件

>> ls

.

..

1.docx

123

读入文件,并保存到变量中

>> load(‘loldata.csv‘)

>> loldata

loldata =

7.0000    5.0000    2.0000    0.9329   28.7941    5.9861    4.5984

2.0000    1.0000    3.0000    0.4512    2.5701    0.9661    1.2014

7.0000    5.0000    3.0000    0.8364   21.6821    6.0617    3.8332

19.0000    2.0000    1.0000    1.0947   36.3245   12.7096    3.7969

4.0000    2.0000    4.0000    0.8193   19.6814    2.3778    1.3344

2.0000    9.0000    2.0000    0.7157   14.4339    3.3351    6.3405

0   10.0000    6.0000    0.7573   12.3280    2.1769    5.3543

8.0000    5.0000    1.0000    0.9012   20.2787    5.1798    3.9495

3.0000    7.0000    1.0000    0.7876   10.5917    2.2607    6.4620

1.0000    8.0000    4.0000    0.6336    5.9939    1.8080    5.9950

>> size(loldata)

ans =

10     7

显示当前所有变量

>> who

您的变量为:

A        V        a        ans      b        c        loldata  q        v

所有变量具体信息

>> whos

Name          Size            Bytes  Class     Attributes

A             2x2                32  double

V             1x11               88  double

a             1x1                 8  double

ans           1x2                16  double

b             1x2                 4  char

c             1x1                 8  double

loldata      10x7               560  double

q             1x1                 8  double

v             1x4                32  double

保存变量到文件中

>> save hello.mat v;

矩阵运算

>> A = [1 2; 3 4 ; 5 6]

A =

1     2

3     4

5     6

>> C = [1 1 ; 2 2]

C =

1     1

2     2

>> A  *  C

ans =

5     5

11    11

17    17

注意A 后面有空格,.是对矩阵中所有元素进行位运算

>> A .^ 2

ans =

1     4

9    16

25    36

>> A + 1

ans =

2     3

4     5

6     7

>> A

A =

1     2

3     4

5     6

矩阵的转置

>> A‘

ans =

1     3     5

2     4     6

没一列中所有最大元素

>> max(A)

ans =

5     6

>> [VAL,IND] = max(A)

VAL =

5     6

IND =

3     3

矩阵的比较运算

>> A < 3

ans =

1     1

0     0

0     0

所有元素中符合条件位置

>> find(A < 3)

ans =

1

4

>> a = magic(4)

a =

16     2     3    13

5    11    10     8

9     7     6    12

4    14    15     1

>> [r,c] = find(A < 3)

r =

1

1

c =

1

2

>> a = [1 2 3 4]

a =

1     2     3     4

>> sum(a)

ans =

10

>> prod(a)

ans =

24

>> a = [1 2 3 4;1 3 4 5]

a =

1     2     3     4

1     3     4     5

求和默认是列

>> sum(a)

ans =

2     5     7     9

>> sum(a,1)

ans =

2     5     7     9

求积

>> prod(a)

ans =

1     6    12    20

>> floor(a) %向下四舍五入

ans =

1     2     3     4

1     3     4     5

>> ceil(a) %向上四舍五入

ans =

1     2     3     4

1     3     4     5

>> max(rand(3),rand(3))

ans =

0.9572    0.2785    0.9649

0.6324    0.5469    0.9595

0.8003    0.9575    0.9706

>> A(:)

ans =

1

3

5

2

4

6

调换方向

>> flipud(eye(9))

ans =

0     0     0     0     0     0     0     0     1

0     0     0     0     0     0     0     1     0

0     0     0     0     0     0     1     0     0

0     0     0     0     0     1     0     0     0

0     0     0     0     1     0     0     0     0

0     0     0     1     0     0     0     0     0

0     0     1     0     0     0     0     0     0

0     1     0     0     0     0     0     0     0

1     0     0     0     0     0     0     0     0

求矩阵的拟

>> pinv(a)

ans =

1.3333   -1.0000

-1.6667    1.3333

-0.3333    0.3333

1.0000   -0.6667

>> D = [0:0.01:0.98]

>> y1 = sin(2*pi*4*D)

>> plot(D,y2,‘r‘)

>> xlabel(‘time‘)

>> ylabel(‘value‘)

>> legend(‘sin‘,‘cos‘)

>> title(‘my plot‘)

>> print -dpng ‘myplot.png‘

>> subplot(1,2,1)

>> plot(D,y1)

>> subplot(1,2,2)

>> plot(D,y2)

>> clf

>> A = magic(5)

A =

17    24     1     8    15

23     5     7    14    16

4     6    13    20    22

10    12    19    21     3

11    18    25     2     9

>> imagesc(A)

>> imagesc(A)

>> imagesc(A),colorbar,colormap gray

循环语句 判断语句

>> for i=1:10,

v(i)=2^(i);

end;

>> v

v =

2

4

8

16

32

64

128

256

512

1024

>> while true,

i =1;

v(i) = 100;

if i <=6,

break;

end;

end;

>> v

v =

100

4

8

16

32

64

128

256

512

1024

时间: 2024-12-14 22:39:53

matlab 机器学习入门的相关文章

web安全之机器学习入门——3.1 KNN/k近邻算法

目录 sklearn.neighbors.NearestNeighbors 参数/方法 基础用法 用于监督学习 检测异常操作(一) 检测异常操作(二) 检测rootkit 检测webshell sklearn.neighbors.NearestNeighbors 参数: 方法: 基础用法 print(__doc__) from sklearn.neighbors import NearestNeighbors import numpy as np X = np.array([[-1, -1],

机器学习入门资源--汇总

机器学习入门资源--汇总 基本概念 机器学习 机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法.机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法.因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论.算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法. 下面从微观到宏观试着梳理一下机器学习的范畴:

机器学习入门:线性回归及梯度下降

机器学习入门:线性回归及梯度下降 本文会讲到: (1)线性回归的定义 (2)单变量线性回归 (3)cost function:评价线性回归是否拟合训练集的方法 (4)梯度下降:解决线性回归的方法之一 (5)feature scaling:加快梯度下降执行速度的方法 (6)多变量线性回归   Linear Regression 注意一句话:多变量线性回归之前必须要Feature Scaling! 方法:线性回归属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个

MATLAB新手入门教程

MATLAB入门教程   1.MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可.例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上. 小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统

机器学习入门——单变量线性回归

线性回归的概念,在高中数学书里就出现过. 给你一些样本点,如何找出一条直线,使得最逼近这些样本点. 给出一个例子:假设 x 是房子面积,y是房子价格,确定一条直线需要theta0和theta1. 给出x,我们就可以计算出房子的价格 h(x) = theta0+theta1*x 关键是如何计算出theta0和theta1,也就是如何找出这么一条直线呢? 在这里,引入一个概念,叫做cost function.m表示样本个数,也就是训练样本数目 这是一个square error,学过统计的应该经常见到

【转载】机器学习入门者学习指南(经验分享)

机器学习入门者学习指南(经验分享) 2013-09-21 14:47 本人计算机研二,专业方向自然语言处理,个人对于机器学习挺感兴趣,于是开始学习.所以,原来这家伙是个菜鸟……正是由于自己是个菜鸟,所以体会到自学机器学习的艰辛,于是在这里分享一下个人的经验,希望能对入门者有所帮助.一些有关机器学习的介绍在这里就不做详细介绍了,感兴趣的同学可以去维基百科.就直接进入正题.1.去Coursera上Andrew Ng的<机器学习>,完成所有作业,最好能全部拿满分.这是相当入门的课程,老师是机器学习领

机器学习入门 - 1. 介绍与决策树(decision tree)

机器学习(Machine Learning) 介绍与决策树(Decision Tree) 机器学习入门系列 是 个人学习过程中的一些记录与心得.其主要以要点形式呈现,简洁明了. 1.什么是机器学习? 一个比较概括的理解是: 根据现有的数据,预测未来 2.核心思想 : Generalization 可以理解为,归纳.概括.就像是人的学习一样,找出一件事物与与一件事物的联系 3.归纳性的机器学习(Inductive machine learning) 其核心思想是使用训练数据,并从其中摸索出一套适用

老司机学python篇:第一季(基础速过、机器学习入门)

详情请交流  QQ  709639943 00.老司机学python篇:第一季(基础速过.机器学习入门) 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标准库.socket网络编程.多线程.多进程和协程. 00.Django实战之用户认证系统 00.Django实战之企业级博客 00.深入浅出Netty源码剖析 00.NIO+Netty5各种RPC架构实战演练 00.JMeter 深入进阶性能测试体系 各领域企业实战 00.30天搞

机器学习入门-文本特征-word2vec词向量模型 1.word2vec(进行word2vec映射编码)2.model.wv[&#39;sky&#39;]输出这个词的向量映射 3.model.wv.index2vec(输出经过映射的词名称)

函数说明: 1. from gensim.model import word2vec  构建模型 word2vec(corpus_token, size=feature_size, min_count=min_count, window=window, sample=sample) 参数说明:corpus_token已经进行切分的列表数据,数据格式是list of list , size表示的是特征向量的维度,即映射的维度, min_count表示最小的计数词,如果小于这个数的词,将不进行统计,