coursera机器学习-logistic回归,正则化
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得;
#注:此笔记是我自己认为本节课里比较重要、难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点;
#标记为<补充>的是我自己加的内容而非课堂内容,参考文献列于文末。博主能力有限,若有错误,恳请指正;
#---------------------------------------------------------------------------------#
logistic function(sigmoid function):g(z) = 1/(1 + e-z),z是一个实数;
我们的预测函数是:
;
logistic函数的图形:
, z>0时,g(z)>0.5;z<0时,g(z)<0.5;
#---------------------------------------------------------------------------------#
Cost function for logistic regression
;
线性回归的Cost function:
,
也可以写成:
;
如果我们使用这个函数作为逻辑回归的代价函数,那么它是非凸函数,不利于最优化;
逻辑回归代价函数的凸函数版本:
,
,
,纵坐标为Cost function;
将上世合并得最终使用的代价函数: cost(hθ, (x),y) = -ylog( hθ(x) ) - (1-y)log( 1- hθ(x) );
使逻辑回归代价函数最小化:

#---------------------------------------------------------------------------------#
Advanced optimization:conjugate gradient,BFGS,L-BFGS;
用这写方法的优点:
1,No need to manually pick alpha (learning rate);
2,Often faster than gradient descent;
3,Can be used successfully without understanding their complexity;
缺点:
1,Could make debugging more difficult;
2,Should not be implemented themselves;
3,Different libraries may use different implementations - may hit performance;
#---------------------------------------------------------------------------------#
多元分类问题
方法: 使用一对多的方法逐项分类,每次分出一个类;
;
还有一对一的方法,这两种方法的优缺点可见台湾大学机器学习第六周第十一讲的内容;
#---------------------------------------------------------------------------------#
过拟合问题:
underfit <=> higher bias;
overfit <=> higher variance, =>unable to generalize (apply to new examples),即不能用来做预测;
;
如何处理过拟合?
1) 减少特征数量
可用人工选择要保留的特征;
也可用模型来选择特征;
减少特征会失去一些信息,即使特征选的很好;
2) 正则化(Regularization)
保留所有特征,但减少θ的大小;
当我们有很多特征时,这个方法非常有效;
<补充>模型选择的典型方法是正则化。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或惩罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化项就越大;
<补充>正则化的作用是选择经验风险最小和模型复杂度同时较小的模型;从贝叶斯估计的角度来看,正则化项对应于模型的先验概率;
#---------------------------------------------------------------------------------#
正则化的代价函数最优化
;
;
;
λ 是正则化参数;使得某几项θ变的很小;
如果λ很大,那么所有的θ参数都会变得很小,造成 underfitting,bias;
#---------------------------------------------------------------------------------#
线性回归的正则化
;
,
也即是
;
Regularization with the normal equation
;
逻辑回归的正则化

;
#---------------------------------------------------------------------------------#
Advanced optimization of regularized linear regression
;
#---------------------------------------------------------------------------------#
参考文献:
《统计学习方法》,李航著;
coursera: standford machine learning, by Andrew Ng;
coursera: 台湾大学機器學習基石,by 林軒田;
coursera机器学习-logistic回归,正则化的更多相关文章
- 机器学习——logistic回归,鸢尾花数据集预测,数据可视化
0.鸢尾花数据集 鸢尾花数据集作为入门经典数据集.Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理.Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数 ...
- 机器学习——Logistic回归
1.基于Logistic回归和Sigmoid函数的分类 2.基于最优化方法的最佳回归系数确定 2.1 梯度上升法 参考:机器学习--梯度下降算法 2.2 训练算法:使用梯度上升找到最佳参数 Logis ...
- 机器学习——Logistic回归
参考<机器学习实战> 利用Logistic回归进行分类的主要思想: 根据现有数据对分类边界线建立回归公式,以此进行分类. 分类借助的Sigmoid函数: Sigmoid函数图: Sigmo ...
- 机器学习--Logistic回归
logistic回归 很多时候我们需要基于一些样本数据去预测某个事件是否发生,如预测某事件成功与失败,某人当选总统是否成功等. 这个时候我们希望得到的结果是 bool型的,即 true or fals ...
- 机器学习 Logistic 回归
Logistic regression 适用于二分分类的算法,用于估计某事物的可能性. logistic分布表达式 $ F(x) = P(X<=x)=\frac{1}{1+e^{\frac{-( ...
- 机器学习-- Logistic回归 Logistic Regression
转载自:http://blog.csdn.net/linuxcumt/article/details/8572746 1.假设随Tumor Size变化,预测病人的肿瘤是恶性(malignant)还是 ...
- 吴恩达-机器学习+Logistic回归分类方案
- Spark2.0机器学习系列之4:Logistic回归及Binary分类(二分问题)结果评估
参数设置 α: 梯度上升算法迭代时候权重更新公式中包含 α : http://blog.csdn.net/lu597203933/article/details/38468303 为了更好理解 α和 ...
- 机器学习实战之Logistic回归
Logistic回归一.概述 1. Logistic Regression 1.1 线性回归 1.2 Sigmoid函数 1.3 逻辑回归 1.4 LR 与线性回归的区别 2. LR的损失函数 3. ...
随机推荐
- SSH服务器与Android通信(1)--服务器端发送数据
很多应用要求SSH服务器不仅和PC通信,还要和Android移动设备通信,这时就需要用到JSON了.其基本原理是服务器将数据转换成JSON格式,发送给Android客户端,客户端再将JSON格式的数据 ...
- luogg_java学习_04_数组
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 数组 数组是多个相同类型数据的组合 //1.定义数组 ...
- 【整理】 JavaScript模块化规范AMD 和 CMD 的区别有哪些?
根据玉伯等人在知乎上的回答整理.整理中... AMD 规范在这里:https://github.com/amdjs/amdjs-api/wiki/AMD CMD 规范在这里:https://githu ...
- 将AJAX返回值纵向排序赋值给Table标签
/*下面是所有拼接这个表的代码*/ 1 function HandelAjaxReturnDataForContentTable(data) { var shareHtml = "" ...
- NOSQL学习笔记系列之MongoDB 一 基础
主题:MongoDB 学习资料参考网址: 1.http://www.w3cschool.cc/mongodb/mongodb-tutorial.html 2.http://www.icoolxue.c ...
- [moka同学笔记]Yii2 数据操作Query Builder
Query Builder [php] view plain copy $rows = (new \yii\db\Query()) ->select(['dyn_id', 'dyn_name ...
- Java--CyclicBarrier同步屏障原理,使用
package com; import java.util.Map; import java.util.concurrent.BrokenBarrierException; import java.u ...
- chkconfig系统服务启动设置
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息. 谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--a ...
- 一个完整的类用来读取OpenSSL生成的pem格式的x509证书
internal static class CcbRsaHelper { private const string Begin = "-----BEGIN "; private c ...
- scope='request'的bean预加载冲突
Error creating bean with name 'authenticationSuccessServlet': Scope 'request' is not active for the ...