跟着Andrew Ng挑战Machine Learning(第三周)Part 1:逻辑回归简介

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/credolhcw/article/details/72862050

注意:
  我发现当我在阅读其他大神&前辈们发表的文章时,往往只有前二十分钟能够集中注意力。之后就慢慢的会有些懈怠了,而往往他们付出的心血可能主要就集中在中后半部分⊙﹏⊙‖∣° 。
  有鉴于此,我决定以后发的博文尽可能的短。呵呵呵呵呵呵……

  建议有条件的童鞋去Coursera上学习,不仅免费还精心准备了很多联系帮助理解,以下是链接(看视频需要翻墙):
  https://www.coursera.org/learn/machine-learning/


逻辑回归(Logic Regression)其实解决的是分类问题

  虽然叫逻辑回归,但确实是一个分类问题,引用Coursera的原话“少年们,请不要在这里迷茫!”(好吧这绝对不是原话)


什么是分类问题咧?

 
  举个栗子:“分辨各位电子邮箱中的邮件是否是垃圾邮件”就是一个分类问题,结果只有是或者不是,或者说结果不是零就是一,即 y{0,1}
  
  再举一个栗子:“辨别肿瘤是否为恶性肿瘤”也是一个分类问题。如果我们用前面两章讲的回归方法来预测就有点不讲理了,请看下图。
  
  Classification using Regression


本章所述的逻辑回归要怎样解决这类问题呢?

 
  我们先从最简单的问题说起,仅讨论前面举得例子这种只用分两类的问题(不是0就是1),即二分类问题(Binary Classification)
  
  这类问题中输出的值 y{0,1} ,与回归问题一样我们还需要一个拟合函数 h(x⃗ )
  
   hθ(x⃗ ) 与线性回归所用的是有差别的。我们需要让 hθ(x⃗ )(0,1) ,这样就可做如下定义了:

y={1,     hθ(x⃗ )0.50,     hθ(x⃗ )0.5

  所以,从新定义 h(x⃗ ) 的形式(别问我为什么要这样定义 O__O” ,我只知其然不知其所以然):

z=θ0x0+θ1x1++θnxng(z)=11+ezhθ(x⃗ )=g(z)

  为了方便记录,让公式更简洁,后文中我会用向量的形式表示 z ,即 z=θ⃗ Tx⃗ 

   g(z) 坐标图如下:
  
  gz
  
  那么,接下来要做的事情就很容易理解了。和线性回归一样,我们接下来要做的事情就是找到一组最佳的特征系数 θ⃗ =(θ0,θ1,,θn) 来进行分类预测。

  就上述的判断肿瘤是良性还是恶性的例子,假设我们已经找到了一组最佳的特征系数 θ⃗ =(θ0,θ1) , 现在我们要判断一个特征值为 x⃗  的案例是可能为恶性还是可能为良性。很简单,只用把 x⃗  带入拟合函数中判断就行。

  假如 hθ(x⃗ )0.5 我们就预测“ y=1 ,即是恶性肿瘤”,反之, hθ(x⃗ )0.5 我们就预测“ y=1 ,即是良性肿瘤”。根据上图,我们还可以按下面所述的方法进行判断。
  
  假如 θ⃗ Tx⃗ 0 我们就预测“ y=1 ,即是恶性肿瘤”,反之, θ⃗ Tx⃗ 0 我们就预测“ y=1 ,即是良性肿瘤”。


用一对多的方法解决多重分类的问题

  一对多是一种非常简单的方法,其核心就是不断的使用Part1、Part2介绍的二分类问题,然后在多个二分类机的预测结果中选择可能性最大的那一个。

  如下图所示,将左边的多重分类问题,分解成右边的三个二分类问题:
 
OneVsAll
 
  用训练集 X 分别训练每一个类对应的拟合函数 h(i)θ(x⃗ ) ,例如上图中,Class 1 对应的拟合函数为 h(1)θ(x⃗ ) ,Class 2 对应的拟合函数为 h(2)θ(x⃗ ) , Class 3 对应的拟合函数为 h(3)θ(x⃗ )

  最后,我们用这 3 个分类分别计算测试用例 x⃗ test 对应的概率,取其最大者为对应的 ytest 。即
  

ytest=maxih(i)θ(x⃗ test)


小结

  简介部分就到这里,下一章介绍逻辑回归算法中的代价函数,以及如何得到特征向量 θ⃗  的最优解。送一个定心丸,如果觉得前面所讲的线性回归难度不大,那么下一章将同样没有多大难度(☆_☆)。

猜你喜欢

转载自blog.csdn.net/credolhcw/article/details/72862050
今日推荐