1 逻辑回归

1. classification 分类

eg:垃圾邮件分类、交易是否是欺诈、肿瘤类别。分类的结果是离散值。

2. sigmoid函数

  使用线性方法来判断分类问题,会出现上图中的问题,需要人工判断分界点。有些特殊的样本点,也会使得分界点发生漂移,影响准确性。我们希望我们的分类器输出范围在0~1之间,此时分类问题转化为边界问题。sigmoid函数能保证数据在0~1之间,并且越趋近于无穷大,输出趋近于1。

假设函数预测的是对于输入x,输出为1的概率。

3. cost function

如果代价函数依然采用平方误差函数,得到的是一个non-convex函数,此时梯度下降无法保证收敛得到全局最优值。因此我们用另一种方式表示cost function,使它作为convex函数,易于求解。

如果把代价函数定义为上述形式,当真实的值是1时,我们预测的值越靠近1,cost的值越小,误差越小。如果真实值是0,那么预测的值越靠近1,cost的值越大。

简化公式:


4. 梯度下降

一般形式:

计算微分部分得到:

5. 高级优化方法

“共轭梯度Conjugate gradient”,“BFGS”和“L-BFGS” 是可以用来代替梯度下降来优化θ的更复杂,更快捷的方法。 
都是求J函数和偏导数,然后进行优化。后三个算法优点:都不需要手动选择学习率阿尔法(他们有内部循环,线性搜索算法,可以自动尝试学习率,并选择最好的学习率);它们的收敛速度往往比梯度下降要快。缺点:更复杂

6. 多分类问题

可以理解为采用多个Losgistic分类器进行分类,针对每个样本点进行一次预测,选择概率值最大的那个。

2 正则化

1. 过拟合


图一 欠拟合,高偏差。图三 过拟合,高方差。
2 解决方法
                  1. 减少特征的数量,可以通过一些特征选择的方法进行筛选。
                  2. 正则化,通过引入一个正则项,限制参数的大小。

3 正则化用于线性回归

4 正则化用于逻辑回归

比如下面的曲线,针对高次项的参数,在后面多加一项乘以1000。这样在优化损失函数的时候,会强制θ3和θ4不会很大,并且趋近于0,只有这样才会保证损失函数的值足够小。

得到的公式如下,注意只会针对x1开始,θ0相当于只是针对偏置项设置的,因此不需要加正则项。

但是如果λ设置的过大,相当于所有的θ都变成了0,损失函数的曲线相当于一条直线,就没有任何意义了,因此选择适合的λ很重要,后面也会讲解如何选择正确的λ。
5 梯度下降

添加正则项之后,梯度下降的公式就发生了变化:

 3 编程作业——实现logistic regression

还有很多看不懂的地方,这两篇博文说的很详细:

https://blog.csdn.net/Cowry5/article/details/80247569

https://blog.csdn.net/u012052268/article/details/78653293

coursera-斯坦福-机器学习-吴恩达-笔记week3的更多相关文章

  1. coursera-斯坦福-机器学习-吴恩达-笔记week1

    1 Introduction 1.1 概念:一个程序被认为能从经验E中学习,解决任务 T,达到性能度量值P,当且仅当, 有了经验E后,经过P评判, 程序在处理 T 时的性能有所提升. 1.2 机器学习 ...

  2. coursera-斯坦福-机器学习-吴恩达-笔记week4

    1 神经网络的提出 线性回归和逻辑回归能很好的解决特征变量较少的问题,但对于变量数量增加的复杂非线性问题,单纯增加二次项和三次项等特征项的方法计算代价太高. 2 神经网络算法 2.1 神经元 模拟神经 ...

  3. coursera-斯坦福-机器学习-吴恩达-笔记week2

    1 多元线性回归 1.1 假设函数 多元线性回归是指有多个特征特征变量的情况.此时我们修改假设函数hθ(x)=θ0+θ1∗x为hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxn.设x0=1,x为特征向 ...

  4. 第19月第8天 斯坦福大学公开课机器学习 (吴恩达 Andrew Ng)

    1.斯坦福大学公开课机器学习 (吴恩达 Andrew Ng) http://open.163.com/special/opencourse/machinelearning.html 笔记 http:/ ...

  5. 吴恩达《机器学习》课程笔记——第六章:Matlab/Octave教程

    上一篇  ※※※※※※※※  [回到目录]  ※※※※※※※※  下一篇 这一章的内容比较简单,主要是MATLAB的一些基础教程,如果之前没有学过matlab建议直接找一本相关书籍,边做边学,matl ...

  6. 笔记:《机器学习训练秘籍》——吴恩达deeplearningai微信公众号推送文章

    说明 该文为笔者在微信公众号:吴恩达deeplearningai 所推送<机器学习训练秘籍>系列文章的学习笔记,公众号二维码如下,1到15课课程链接点这里 该系列文章主要是吴恩达先生在机器 ...

  7. 吴恩达(Andrew Ng)——机器学习笔记1

    之前经学长推荐,开始在B站上看Andrew Ng的机器学习课程.其实已经看了1/3了吧,今天把学习笔记补上吧. 吴恩达老师的Machine learning课程共有113节(B站上的版本https:/ ...

  8. ML:吴恩达 机器学习 课程笔记(Week1~2)

    吴恩达(Andrew Ng)机器学习课程:课程主页 由于博客编辑器有些不顺手,所有的课程笔记将全部以手写照片形式上传.有机会将在之后上传课程中各个ML算法实现的Octave版本. Linear Reg ...

  9. Coursera课程《Machine Learning》吴恩达课堂笔记

    强烈安利吴恩达老师的<Machine Learning>课程,讲得非常好懂,基本上算是无基础就可以学习的课程. 课程地址 强烈建议在线学习,而不是把视频下载下来看.视频中间可能会有一些问题 ...

随机推荐

  1. RPC服务和HTTP服务对比

    RPC服务和HTTP服务对比 RPC(即Remote Procedure Call,远程过程调用) 协议区别: RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道H ...

  2. Python记录14:面向对象编程 类和对象

    '''现在主流的编程思想有两种,一种是面向对象,一种是面向过程面向过程编程 核心是过程二字,过程指的是解决问题的步骤,即先干什么.再干什么.最后干什么... 基于该思想编写程序就好比再设计一条流水线, ...

  3. xxnet to google部署

    1,github上下载xxnet项目 2,启动(点击 start) 3,确定启动好后访问 www.google.com (此时是可以访问的) 4,注册google账号或直接登陆 5,访问 https: ...

  4. 一定要知道的,那些Linux操作命令

    一定要知道的,那些Linux基本操作命令(一) 目录 1.文件和目录操作命令 2.用户和用户组操作命令 3.vim编辑器操作命令 4.打包和解压操作命令 5.系统操作命令 为什么要学习linux? 1 ...

  5. Mysql模糊查询like效率,以及更高效的写法

    在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来.这个时候查询的效率就 ...

  6. Hdu2040 亲和数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2040 亲和数 Time Limit: 2000/1000 MS (Java/Others)    Me ...

  7. MySQL插入更新_ON DUPLICATE KEY UPDATE

    前提:操作的表具有主键或唯一索引 INSERT INTO:表中不存在对应的记录,则插入:若存在对应的记录,则报错: INSERT INTO IGNORE:表中不存在对应的记录,则插入:若存在对应的记录 ...

  8. iOS项目之NSLog相关

    这算是在项目中最常用的命令了,方便程序员查看日志数据,便于程序调试.在开发中我们经常会进行一些设置,下面就来简单的说一说: 先来看看普通的NSLog: - (void)viewDidLoad { [s ...

  9. ES5的完美继承

    // 定义一个动物类 function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = functio ...

  10. .NET ActiveMQ类库

    ActiveMQ .NET类库 ActiveMQ是一种开源的,实现了JMS规范的,面向消息(MOM)的中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信. 0. 准备 使用Nuget ...