10月19日-吴恩达机器学习P34-39

(一)决策边界

1、Logistic回归函数(也叫sigmoid函数)中hc塔(x)的值是:给定x和参数C塔时y=1的估计概率。
如果这个值>=0.5,我们最终预测y=1;
如果这个值<0.5,我们最终预测y=0。
也就是说:
如果z(C塔x)大于0,最终预测y=1;
如果z(C塔x)小于0,最终预测y=0。
10月19日-吴恩达机器学习P34-392、举例
例1:假设我们有这样一个训练集,且已经选择好了C塔0、C塔1、C塔2的值(后期会讲如何选择)。
那么hc塔(x)的值=0.5的地方,也就是这条直线,被称为决策界限(Decisio bounday)。
只要x1+x2>=3(直线上方的区域),即最终预测y=1;
只要x1+x2<3(直线下方的区域),即最终预测y=0。
10月19日-吴恩达机器学习P34-39注意:决策边界、包括根据此我们预测的y=1和y=0的区域都是假设函数的属性,决定于其参数;它不是数据集的属性。
例2:我们用X表示正样本,圈表示负样本,使用高阶函数来预测。也是假设已经选择好了C塔0、C塔1、C塔2、C塔3、C塔4的值。
那么只要x1的平方+x2的平方>=1(圆形外面),即最终预测y=1;
只要x1的平方+x2的平方<1(圆形外面),即最终预测y=0;
这个圆形即决策边界。
10月19日-吴恩达机器学习P34-39

(二)代价函数

1、对Logistic回归问题,定义拟合参数C塔的优化目标或代价函数。
现在先描述Logistic回归问题:有m条数据,n+1个特征(x0是补上去的),对应的标签y不是0就是1,接下来是它的假设函数h(x)。
10月19日-吴恩达机器学习P34-39我们以前的代价函数是这样表示的,如果将之改写。由于h(x)是一条非线性函数,最终J(C塔)函数关于C塔变量的图像如左下角所示,是一条非凸函数,这时使用梯度下降法容易找不到全局最小值。因此,我们还是需要把它变成右下角这样的图像。
10月19日-吴恩达机器学习P34-39如何书写分类问题的代价函数呢?
Cost(h(x),y)中h(x)是预测值,y是实际标签值(0或1),根据y值分段决定了代价函数。
10月19日-吴恩达机器学习P34-39当y=1时代价函数的图像如下:
可以看出,当实际值y=1且预测值h(x)为1时,Cost=0,代价为0;
当实际值y=1且预测值h(x)为0时,Cost=无穷大,预测错误,需要付出很大的代价受到惩罚。
10月19日-吴恩达机器学习P34-39当y=0时代价函数的图像如下:
可以看出,当实际值y=0且预测值h(x)为0时,Cost=0,代价为0;
当实际值y=0且预测值h(x)为1时,Cost=无穷大,预测错误,需要付出很大的代价受到惩罚。
10月19日-吴恩达机器学习P34-39总结来说,下面的J(C塔)式子是整体的代价函数,Cost(h(x),y)是单个样本的代价函数,将Cost分段函数用另一种简洁的方式表示如下:
10月19日-吴恩达机器学习P34-39简单点,就是这样:
以及下面是梯度更新的规则模板:
10月19日-吴恩达机器学习P34-39

(三)梯度下降

1、求完导数后,可以看到梯度更新的规则式子几乎和线性回归中的一样。但是注意,由于h(x)假设函数不同,所以两个式子本质上还是不同的。
10月19日-吴恩达机器学习P34-39注意:特征缩放的规则同样适用于这里!

(四)高级优化

1、让我们回顾一下梯度下降做的事情:
首先我们要找到代价函数最小值下的C塔,那么我们要计算J(C塔)的导数,梯度下降就是根据导数代码来更新C塔。
10月19日-吴恩达机器学习P34-39但是现在有一些更高级的算法可以替代梯度下降算法:
共轭梯度法(Conjugate gradient)、BFGS法、L-BFGS法。
使用这三种算法,通常不需要你手动选择学习率,它们有一个智能内循环(线搜索算法),可以自动尝试不同的学习率;另外,它们收敛得远远快于梯度下降。
2、使用高级优化算法代码实现
例如:我们有如下的变量C塔、J(C塔),可以轻松地算出满足条件的C塔1=5,C塔2=5。假设我们不知道的情况应该怎么用代码计算C塔1、C塔2呢?
首先我们写一个函数function,需要返回J(C塔)的值(即:jVal)、向量C塔(即:gradient),根据左边的式子可以看出。
那么可以运行这个无约束最小化函数fminunc,@指向costFunction函数;options需要设置一些参数(设置GradObj梯度目标参数为打开,表示需要提供梯度;设置最大迭代次数MaxIter为100次);初始化C塔为一个二维的0向量;optTheta是我们选择的高级算法,可以自动计算学习率,帮助我们找到最佳的C塔值。
10月19日-吴恩达机器学习P34-39在执行的时候,可以将function那一段写在word里保存在桌面,然后cd 'C\Users\chen\Desktop’到桌面来,再执行下面的语句。
10月19日-吴恩达机器学习P34-39结果optTheta的值和我们预先设想的一样,functionVal约等于0,代价几乎为0,也符合预期;exitFlag=1表示算法收敛。

(五)多元分类:一对多

1、多元分类问题举例:
需要一种学习算法可以智能地将邮件分别放到不同的文件夹/标签下:工作、朋友、家庭、爱好等;
药物诊断一个人是没病的、感冒、得流感;
天气判断为天晴的、多云的、下雨的、下雪的。
10月19日-吴恩达机器学习P34-392、应当如何解决呢?
类似于之前的是与否只有两种结果的数据集分类,我们将分别对这三种数据集进行新的分类:
当对三角形分类时,将其他两种看作一种伪数据集,认定为y=0;
当对正方形分类时,将其他两种看作一种伪数据集,认定为y=0;
当对圆形分类时,将其他两种看作一种伪数据集,认定为y=0。
这样可以得到三个拟合分类器hc塔(x)i,尝试估计在x、c塔的值下预测y=i的概率。
10月19日-吴恩达机器学习P34-39当输入一个值x时,需要分别对三个分类器计算概率,找到最大值即可。

(六)过拟合问题

1、线性回归中的过拟合
以根据房屋面积大小预测房屋价格为例:
第一条用一次函数拟合,没有很好地拟合数据,被称为“欠拟合(Underfit)”或"高偏差(High bias)"。
第二条增加了一个二次项,很好地拟合了数据;
第三条也穿过了很多数据,看似很好地拟合了所有数据,但它不停地上下震荡,被称为“过拟合(Overfit)”或“高方差(High variance)”。
也就是说,这个函数能拟合几乎所有已知的数据点,但我们没有足够的证据(足够大的数据集)来约束它以获得一个好的假设函数,这就是过度拟合。(一般在变量多的时候出现,这个假设函数缺乏泛化能力,也就是一个假设模型应用到新样本的能力)
10月19日-吴恩达机器学习P34-392、逻辑回归中的过拟合
我们以预测乳腺癌肿瘤是良性还是恶性的为例:
第一条用一次函数拟合,没有很好地拟合数据,被称为“欠拟合(Underfit)”或"高偏差(High bias)"。
第二条增加了一个二次项,很好地拟合了数据;
第三条看似很好地拟合了所有数据,但它不停地上下震荡,被称为“过拟合(Overfit)”或“高方差(High variance)”。它不能很好地泛化到新样本。
10月19日-吴恩达机器学习P34-393、为什么会出现过拟合
当考虑的变量很多,但实际的训练数据集较少时会出现。
4、怎么解决
第一,要尽量减少特征的数量。包括人工检查变量清单,决定保留哪些特征变量;模型选择算法自动选择保留哪些特征变量。
第二,正则化。包括保留所有特征变量,但是减少量级或参数C塔j的大小。
10月19日-吴恩达机器学习P34-39

上一篇:图---->最小生成树 ( minimum cost spanning tree )


下一篇:设计模式--装饰者模式