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. ...
随机推荐
- Android Volley框架的使用(1)
在Android开发中,经常要通过HTTP请求访问网络.为了使通过HTTP请求访问网络的过程更加简单,2013年提出了新的HTTP通信框架--Volley.Volley使用起来非常简单,适用于网络访问 ...
- 如何改变 FMX ListView 颜色
需求:改变 ListView 颜色 适用:Firemonkey 任何平台 操作:Style 是改变控件外观最便捷的途径,ListView 也不例外,下面示范使用 StyleBook 来设定 ListV ...
- HDU 5510---Bazinga(指针模拟)
题目链接 http://acm.hdu.edu.cn/search.php?action=listproblem Problem Description Ladies and gentlemen, p ...
- 袋鼠过河---DP
题目:一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远,每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5, ...
- No.014:Longest Common Prefix
问题: Write a function to find the longest common prefix string amongst an array of strings. 官方难度: Eas ...
- [小北De编程手记] : Lesson 05 玩转 xUnit.Net 之 从Assert谈UT框架实践
这一篇,本文会介绍一下基本的断言概念,但重点会放在企业级单元测试的相关功能上面.下面来跟大家分享一下xUnit.Net的断言,主要涉及到以下内容: 关于断言的概念 xUnit.Net常用的断言 关于单 ...
- GJM :自定义基于 VLC 的视频播放器 [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- quartz TRIGGER_STATE变为ERROR解决方法
今天,项目组一个同事说开发环境一直正常quartz定时任务今天不跑了,因为异常已经封装了,所以应该不是没有捕获异常导致.也检查了JobDetail肯定没有重复的任务,最后检查qrtz_triggers ...
- windows 7/10下安装oracle 10g
有段时间没搞oracle了,最近要给别人在win 7下装个oracle 10g,特记录备忘下. 使用http://download.oracle.com/otn/nt/oracle10g/10201/ ...
- Code First :使用Entity. Framework编程(1) ----转发 收藏
这个是在学习EF CodeFirst时发现的,对于初学者还是不错的.果断转发,方便自己以后查阅和学习. 对于学习Code First 这个教程讲解的还是很详细. 第一章:欢迎来到Code First ...