您的位置:首页 > 编程语言 > MATLAB

Matlab中机器学习会用到的一些特殊函数

2016-11-28 13:43 225 查看
最近在Cousera上机器学习的课,做作业使用的是Matlab,在写作业的过程中使用到了平时不太常用的功能,记录一下。

1. Matlab中的element-wise 功能。

函数名称:bsxfun()
使用方法:适合当向量和矩阵做元素运算的时候用。





2.  Matlab中的高级优化算法(Optimization):

函数名称:fminunc()
使用方法:



优点:比梯度下降算法收敛快。

3. 将矩阵展开成向量 unrolling:

     假设有Theta_1 是10x11,Theta_2是 10x11,Theta_3是1x11,则在matlab中:

>> thetaVec = [Theta_1(:) ; Theta_2(:); Theta_3(:)];
>> size(thetaVec)
ans =
231  1


最后展成1列

4. 在cell中查找特定的字符串的索引

cell矩阵中字符的检索不能直接使用等号。

应用strcmp函数判断两个输入字符串是否相等,输入形式如下:

c = strcmp(str1,str2)比较字符串 str1 与 str2 ,若完全相等则返回 1 ,不相等返回 0

应用find函数对矩阵进行检索进一步的得到cell矩阵中特定字符所在的位置,输入形式如下:

[x,y] = find(strcmp(a,‘xx’))

a为需要检索的cell矩阵,‘xx’为特定的字符

示例如下:

>> class1 = cell(1,4)

class1 =

    []    []    []    []

>> class1 = {'imagewant0','imagewant45','imagewant90','imagewant135'}

class1 =

    'imagewant0'    'imagewant45'    'imagewant90'    'imagewant135'

>> [x , y] = find(strcmp(class1 , 'imagewant0'))

x =

     1

y =

     1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习 Matlab