机器学习-3 logisitic 回归
来源:互联网 发布:java中的sleep 编辑:程序博客网 时间:2024/06/06 02:09
LogisticRegression / 逻辑斯特回归
Logistic回归解决的是当预测的值为两类bool的问题,比如邮件是否是垃圾、pv是否作弊等;那先的看看两类问题用之前的线性回归能有啥问题;
如上两图,左边预测回归的是连续实数,趋势是单调的;
而右边的预测的是bool值,这是应该叫做分类变量,如果依然用线性回归,结果如y1,看得出,由于没有单调的趋势,因此用单调的线性分类时,会导致如圈中的1被分为0;那有没有一个假设函数,能不能cover这种情况,有。如y2一样的函数,称为logistic函数,较好的解决这个问题,也叫sigmoid函数,图像很漂亮,其函数表达式为:
z->正无穷,h收敛1;z->负无穷,h收敛0;
通常将0.5做为分类阈值,即z >0,y -> 1, z < 0, y -> 0;
另外,这个h的范围是[0,1],其值可以认为是概率probability,这个使得输出值有意义的,另外是条件概率,即z的条件下,y=1的概率,用的时候可以根据对实际准招的需求,适当调整分类阈值,默认是0.5;
DecisionBoundary / 判决边界
啥时判决边界,因为是分类问题,那类与类之间就有一个相对最好的分界,如下图:
红叉和篮圈这两类分界区间中间的那条线就称为判决边界,说白了就是假设函数h(z)的z,判决边界就是h=0.5处;
这是线性分类,如上图的h为:
根据logistic函数的特点,x>0,h->1,y=1;x<=0,h->0,y=0;
对于非线性问题,如下图:
蓝色圆圈的即为判决边界h:
因此,logistic对非线性问题和线性问题都能cover,关键是看判决边界怎么选取,只要是能表达为判决边界z>0和<0分别各属于不同的类,就可以用logistic回归-- 一种分类的回归;
CostFunction/ 代价函数
选好了判别边界,选定了logistic回归,那下面看怎么选取参数 。
根据之前线性回归的代价函数如下:
和线性回归中假设函数是线性的不同,这里是logistic,会导致J不再是碗状的凹函数(习惯叫法),
如下图中有很多的局部最优点,之前的梯度下降法就不使用了,那么需要构造一个碗状的凹函数;
Logistic的代价函数如下:
当y=1时,若h=1,h-y=0;h-y无穷;当y=0时,若h=1,h-y无穷,h=0,h-y=0;
多类问题
对每一类训练一个回归模型,加入有A、B、C三类,训练A回归模型,将A标注为一类,将B和C标注为一类;训练B回归模型时,将A和C标注为一类;以此C;作用是,将回归模型A、B、C都作用在测试样本上,择最佳的,因为前面提到,logistic的输出有实际意义,即属于该类别的概率,可以进行比较;- 机器学习-3 logisitic 回归
- 机器学习:Logisitic回归
- 机器学习3 logistic回归
- 机器学习week1-3笔记:线性回归、逻辑回归
- 机器学习笔记--回归分析(3)
- 机器学习物语(3):回归问题
- 机器学习物语(3):回归问题
- 深入机器学习系列3-逻辑回归
- 机器学习(3)-逻辑回归
- 机器学习-线性回归
- 机器学习-Logistic回归
- 【机器学习】线性回归
- 机器学习-线性回归
- 机器学习-logistic回归
- 机器学习 线性回归
- 【机器学习】Logistic回归
- 机器学习-线性回归
- 机器学习-逻辑回归
- setBackgroundDrawable和setBackgroundColor的用法
- hdu 4424 Conquer a New Region(并查集)
- 大数据时代的风险与责任
- BitmapFactory.Options
- ios7新特性--16
- 机器学习-3 logisitic 回归
- ios7新特性--17
- subprocess的输入输出处理
- lightoj 1214 大数除法
- C++ 数组和指针
- 在单线程应用中,由用户结束大循环的方案
- ios7新特性--18
- Android内存泄漏
- oracle查询结果中wmsys.wm_concat组合一列多行结果,以及每行中某些列的组合结果