刚刚学了Andrew Ng在Coursera上的Machine Learning公开课,感觉在学习的过程中,有一些疑惑,尤其是各种算法之间的联系,以及在模型训练中遇到的普遍性的注意点,这里做一个回顾和总结。
Multi-class classification problem
案例:数字识别(0,1,2,…,9),待识别的数字图片如下所示,
Q1. 如何将数字的图像转变为向量?
A1.
1) 如果图片是20 pixel*20 pixel的数字灰度图像,可以取每个像素为基本单元,将每个单元灰度级用一个浮点数表示(0~1)。再将20*20的像素展开(unroll)为1个400维度的向量。
2)如果是RGB图像,每个像素用三个8位的数(0~255)表示,分别代表红、绿、蓝的强度(intensity)。
问题描述:特征为X,输出为y,要学习的参数为theta。
方法1. Logic regression algorithm
用逻辑回归算法,只需依次令y=k(0,1,2…9),将数字识别变成0-1分类问题,依次学习每个数字对应的参数,伪代码如下
for k=1:num_labels
[theta] = fmincg (@(t)(lrCostFunction(t, X, (y == k), lambda)),initial_theta, options);
all_theta(k,:) = theta';

这篇博客总结了Andrew Ng的Machine Learning公开课中关于多类分类的问题,特别是数字识别的应用。通过逻辑回归和神经网络两种方法进行讨论,强调了特征转换、神经网络模型设计以及初始化参数的重要性和技巧。在神经网络中,介绍了防止对称性破坏的初始化策略,并给出了初始化参数的公式。
最低0.47元/天 解锁文章
7367

被折叠的 条评论
为什么被折叠?



