#对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回归,正则化的更多相关文章

  1. 机器学习——logistic回归,鸢尾花数据集预测,数据可视化

    0.鸢尾花数据集 鸢尾花数据集作为入门经典数据集.Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理.Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数 ...

  2. 机器学习——Logistic回归

    1.基于Logistic回归和Sigmoid函数的分类 2.基于最优化方法的最佳回归系数确定 2.1 梯度上升法 参考:机器学习--梯度下降算法 2.2 训练算法:使用梯度上升找到最佳参数 Logis ...

  3. 机器学习——Logistic回归

    参考<机器学习实战> 利用Logistic回归进行分类的主要思想: 根据现有数据对分类边界线建立回归公式,以此进行分类. 分类借助的Sigmoid函数: Sigmoid函数图: Sigmo ...

  4. 机器学习--Logistic回归

    logistic回归 很多时候我们需要基于一些样本数据去预测某个事件是否发生,如预测某事件成功与失败,某人当选总统是否成功等. 这个时候我们希望得到的结果是 bool型的,即 true or fals ...

  5. 机器学习 Logistic 回归

    Logistic regression 适用于二分分类的算法,用于估计某事物的可能性. logistic分布表达式 $ F(x) = P(X<=x)=\frac{1}{1+e^{\frac{-( ...

  6. 机器学习-- Logistic回归 Logistic Regression

    转载自:http://blog.csdn.net/linuxcumt/article/details/8572746 1.假设随Tumor Size变化,预测病人的肿瘤是恶性(malignant)还是 ...

  7. 吴恩达-机器学习+Logistic回归分类方案

  8. Spark2.0机器学习系列之4:Logistic回归及Binary分类(二分问题)结果评估

    参数设置 α: 梯度上升算法迭代时候权重更新公式中包含 α :  http://blog.csdn.net/lu597203933/article/details/38468303 为了更好理解 α和 ...

  9. 机器学习实战之Logistic回归

    Logistic回归一.概述 1. Logistic Regression 1.1 线性回归 1.2 Sigmoid函数 1.3 逻辑回归 1.4 LR 与线性回归的区别 2. LR的损失函数 3. ...

随机推荐

  1. java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)

    采用SSH框架时出现了 java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage ...

  2. 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 ...

  3. 《高可用MySQL》1 – Windows环境下压缩版MySQL安装

    近日在读O’REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容.Master-Slave这东西吧,在许多公司都是标配,开发中基本天 ...

  4. mysql本地可以访问 网络不能访问

    远程登陆数据库的时候出现了下面出错信息: ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx', 经过今天下午的 ...

  5. Java经典实例:在正则表达式中控制大小写

    默认是:区分大小写的: 传递标志参数:Pattern.CASE_INSENSITIVE,以说明匹配时忽略大小写:如果你的代码运行在不同的地区那么你应该再添加一个Pattern.UNICODE_CASE ...

  6. C#代码实现对HTTP POST参数进行排序

    private static string GetSortedParas(Dictionary<string, string> dic) { dic = dic.OrderBy(key = ...

  7. 用fasterjson需要注意的地方

    JSONArray.toJSONString()之后不是一个json,而是json中的一个数组 JSONObject是一个json JSON.toJSONString()不可多次使用,因为每次调用JS ...

  8. Ajax原生写法

    用太久JQuery了,别忘了Ajax原生是怎么写的 var Ajax = { get : function (url, callback) { var req = Ajax.getRequest(ca ...

  9. ArcGIS Server 10.1发布数据源为ArcSDE(直连)的MXD【转】

    因为ArcSDE10.1基本默认直连,所以我们在发布直连的MXD仍然需要注意相关的事宜. 1:保证两台机器都能够访问共享存储的信息 2:确保已UNC路径保存ArcCatalog的文件夹连接,而且直连的 ...

  10. Angular JS | Closure | Google Web Toolkit | Dart | Polymer 概要汇集

    AngularJS | Closure | Google Web Toolkit | Dart | Polymer GWT https://code.google.com/p/google-web-t ...