ng的第三周课程讲的内容十分丰富,可花了我不少时间来消化。嗯,开局先抛出一个问题哈,譬如,如何根据已有的邮件数据(贴上了垃圾邮件与非垃圾邮件的标记),来判断未来的一封邮件是否是垃圾邮件呢?
以上的问题本质上是一个分类问题,而且是一个二元分类,通俗讲就是非此即彼。假设我们标记垃圾邮件为0,标记非垃圾邮件为1,邮件的一些特征我们也进行数值化,利用我们之前了解的特征缩放等将数据整理。那么,我们需要的是一个适合的算法,对原始数据训练出一个模型。这样,新的邮件数据,我们带入这个模型,根据返回的值,比如1,我们就可以判断其为非垃圾邮件了。
所以啊,该用什么方法来对数据们进行分类呢?在我们的日常中,我们是如何对事物进行分类的呢?应该大体是这样子的,了解了事物之后,发现他们之间的不同点,根据他们的不同点来分类不同事物。
那么,开动脑洞,在数学上,我们是不是可以想象两类数据泾渭分明,会存在这么一条线将他们分割开来,一边是“0”,一边是“1”,这样子,不就分开了吗?
哈哈,脑洞大开,逻辑并不严谨,闲话不多说,让我们带着问题去思考吧,Let's go!
---------------我是萌萌的分割线------------------
Logistic Regression(逻辑回归)是一个受到广泛传播与应用的分类算法。这个算法的表达式是这样子的:
这个函数表达式被称为logistic function,也经常被称为sigmoid function。当 , 则 ,那么 ;当 , 则 ,那么 b ;当 , ;当 , 。嗯,这个函数长这个样子的:
发现了不,这个函数的值域为(0,1),而且分布很均匀,任何一个数据值投入到函数中的x中,都可以映射到(0,1),那么,我们可以将他们的值分为两类,当y>0.5时(即x>0),就属于“1”,当y<0.5时(即x<0),就属于“0”。
所以啊,结合之前我们学过的知识,对于二分类问题,我们可否利用逻辑回归对他们进行分类呢?
我们需要对原有的逻辑回归函数稍稍改造一下,如下哦:
此时,我们再令 。