刚刚学了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