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. ...
随机推荐
- java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
采用SSH框架时出现了 java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage ...
- UVA 10089 Repackaging 数学问题
大致题意:给出几个包裹,每个包裹都包装好了3种大小的杯子.现在要重新包装,使向量 a[1]*(s[1][1],s[1][2],s[1][3])+a[2]*(s[2][1],s[2][2],s[2][3 ...
- 《高可用MySQL》1 – Windows环境下压缩版MySQL安装
近日在读O’REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容.Master-Slave这东西吧,在许多公司都是标配,开发中基本天 ...
- mysql本地可以访问 网络不能访问
远程登陆数据库的时候出现了下面出错信息: ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx', 经过今天下午的 ...
- Java经典实例:在正则表达式中控制大小写
默认是:区分大小写的: 传递标志参数:Pattern.CASE_INSENSITIVE,以说明匹配时忽略大小写:如果你的代码运行在不同的地区那么你应该再添加一个Pattern.UNICODE_CASE ...
- C#代码实现对HTTP POST参数进行排序
private static string GetSortedParas(Dictionary<string, string> dic) { dic = dic.OrderBy(key = ...
- 用fasterjson需要注意的地方
JSONArray.toJSONString()之后不是一个json,而是json中的一个数组 JSONObject是一个json JSON.toJSONString()不可多次使用,因为每次调用JS ...
- Ajax原生写法
用太久JQuery了,别忘了Ajax原生是怎么写的 var Ajax = { get : function (url, callback) { var req = Ajax.getRequest(ca ...
- ArcGIS Server 10.1发布数据源为ArcSDE(直连)的MXD【转】
因为ArcSDE10.1基本默认直连,所以我们在发布直连的MXD仍然需要注意相关的事宜. 1:保证两台机器都能够访问共享存储的信息 2:确保已UNC路径保存ArcCatalog的文件夹连接,而且直连的 ...
- Angular JS | Closure | Google Web Toolkit | Dart | Polymer 概要汇集
AngularJS | Closure | Google Web Toolkit | Dart | Polymer GWT https://code.google.com/p/google-web-t ...