1、解决的问题

  分类的问题,例如以下的二元分类问题:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法

2、输入数据

  标称型数据,有特征有结果,依据特征与结果的对应关系来进行分类预测

3、学习流程

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_逻辑回归是l2惩罚_02

  输入数据有噪声,使用一个概率分布来P(Y|X)描述数据,这个概率分布就是要找的target, 对于二元分类问题来说一个理想的分布:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据_03

  如果将输出结果限制到(0,1),那就就是一个“soft”二元分类:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_04

4、“soft”二元分类

  找到一个hypothesis使得在训练数据上的err最小;

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_05

  理想的数据都是由同一个概率分布P(Y|X)产生的:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据集_06

  但是真正得到的数据是没有办法像理想数据一样给出了输出的概率值,而只是给出了一个二元分类的输出{+1, -1}:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_逻辑回归是l2惩罚_07

  那么怎么使用只有{+1, -1}的数据进行输出属于(0, 1) 的预测结果;

5、hypothesis set的形式

  根据输入数据以及相应的权重计算出“风险值”;

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_逻辑回归是l2惩罚_08

  配和权重计算“风险值”:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_09

  将“风险值”映射到logistics function上转化成(0,1) 上的输出:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_10

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_11

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据_12

 

  最终得到一个hypothesis set

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据_13

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据集_14

6、三种模型的Ein的选择

  1、线性分类

  风险值计算完成使用sign()函数进行0/1转化,error function使用0/1函数:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_15

  2、线性回归

  使用得到的W计算好风险值后直接输出,error function使用平方函数;

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据集_16

  3、logistics回归

  使用W计算好风险值后使用sigmoid函数进行输出转换成(0,1)的范围;

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据集_17

  逻辑回归的target:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_逻辑回归是l2惩罚_18

  对于以下的数据集:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_19

  该数据集是由同一分布f(x) = P(Y|X)产生的,那么产生上面的数据集的概率是:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据_20

 ==

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_21

  假设h= f,那么由h(x)产生以上数据集的概率是:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_22

  如果这两个h(x) 和 f(x)很接近,表示Ein很小,那么就可以使用h(x)来代替f(x),表示该数据集由f(x)产生的概率很大;

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_逻辑回归是l2惩罚_23

  f和h很接近表示h和f的分布相同的情况的概率很大,同时由f产生该数据集的概率很大,因此g(X)应该是h假设集合中使得likelihood(h)最大的那个;

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据_24

  likelihood(h)函数为:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_25

 

  考虑到logistics 函数的对称行:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据集_26

  likelihood(h)函数可以写成:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_27

  由于对于所有的hypothesis set集合中的函数来说,数据集都是同一个,那么P(x1),P(x2),.....P(xN)同时相等的可以省去,同时考虑数据集各自的输出结果,上述likelihood(h)函数还可以简化为:(正比于)

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_28

  由于同一个hypothesis set 中唯一不同就是W权重系数的不同,因此上式可以变化为关于W的一个式子:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_29

  由于处理连乘的问题比较复杂,因此可以加对数变成求和,同时在线性回归中采取的式最小化h,为了保持一致,可以将这里求最大改成求负数的最小:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据集_30

  结合sigmoid函数:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_31

  最终得到优化目标和Ein

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_32

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据集_33

7、Ein(w)的优化方法:梯度下降法

  1) 优化目标的梯度求解

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_34

  使用微分的连锁性可得:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_35

  最终结果:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据集_36

  2、求解梯度为0 的点

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据_37

  整个梯度的表达式由两部分相乘然后求和得到,want 梯度为0,如果求和的每一项都是0,那么和自然是0,每一个求和项都是0又可以分成以下两种情况:

  乘积的第一部分

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_38

logistics 函数为0,或者(-ynxn)为0,这部分是由数据集决定的,相当于是个常数;

  logistics 函数为0,则要求(-ynWTxn)<<0,也就是(ynWTxn)>>0,这个条件表示数据集是线性可分的,那么只有在数据集是线性可分的情况下才满足这个条件;

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_39

 

  如果考虑整体的话,那么这个方程是一个非线性方程,不好解,放弃,

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据_40

 

  以上的分析表明在logistics回归中没有像线性回归那样直接使用公式进行求解梯度的方式;

  参考PLA的梯度优化求解方法,逐步优化目标函数;

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_41

  修正参数:

  1) η 调整步长

  2) V 调整方向,V单位化后每次的调整的步长就是η

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据结构与算法_42

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_43

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据集_44

  

  η参数的选择:

  太小的太慢:                 太大的话不稳定:                动态的η参数

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据_45

      

逻辑回归是l2惩罚 逻辑回归是有监督吗_逻辑回归是l2惩罚_46

      

逻辑回归是l2惩罚 逻辑回归是有监督吗_逻辑回归是l2惩罚_47

  η参数要和这点的梯度大小成正相关:

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_人工智能_48

 

  8、算法流程

  

逻辑回归是l2惩罚 逻辑回归是有监督吗_数据_49