分类问题(classification problems)

y=0 or 1

回归分析/逻辑分析(logistic regression):

目标:令h(x)位于[0,1]之间

逻辑函数/S型函数:

图像:

x=0,y=0.5;x=正无穷,y=1;x=负无穷,y=0;

概率角度:P(y=0|x;θ)+P(y=1|x;θ)=1,P(y=1|x;θ)表示在给定x数值时y=1的概率。

由图可知,要使得h>0(y=1),就要z>0,所以是theta定义了决策边界,而训练集用于拟合参数theta

一对多问题(One-vs-all)

若有个分类,则将问题分成n个1/0简单分类问题。每个简单分类问题中,1代表n类中的一类,0代表剩余的n-1类。

计算出每个简单分类问题y=1的概率,最终概率即为n个概率中该分类概率最大的。

高级优化算法(Advanced Optimization)

如:BFGS(变尺度法)、L-BFGS(限制变尺度法)、Conjugate gradient(共轭梯度法)

优点

  • 不用手动选择α,内部有智能的线性搜索算法(line search),可以自动尝试各种α
  • 速度比梯度下降法快
  • 缺点只有复杂

在Matlab使用高级优化算法

1
2
3
4
function [jVal, gradient] = (theta)
jVal = [...code to compute J(theta)...];
大专栏  机器学习Week3s="line"> gradient = [...code to compute derivative of J(theta)...];
end
1
2
3
options = optimset('GradObj', 'on', 'MaxIter', 100); %储存option的数据结构,'GradObj', 'on'设置梯度目标参数为on打开,'MaxIter', 100最大迭代次数。
initialTheta = zeros(2,1); %theta的最初猜想值
[optTheta, functionVal, exitFlag] = fminunc(@costFunction, initialTheta, options); %fminunc是无约束最小化函数,@为指向costFunction的指针。

运行结果中exitFlag=1表示已经收敛,此时functionVal的值接近0

θ必须是二维及以上列向量

过度拟合(overfitting)

图一表示未拟合(underfitting)或者HIgh bios(高偏差);图三表示表示过度拟合或者高方差(hegh variance)。

定义:在有很多数据的情况下,曲线可能很好的拟合已有曲线。但是无法泛化(generate)新数据。

解决:1.减少选取的变量数。人工选取更重要的变量或者用模型选择算法自动选择变量。

2.正规化(regularization)

保存所有变量,不过减少数量级或者θ(j)的大小

正规化

通过’惩罚’某些参数,可以使得曲线更加接近合适的曲线。为了使正规化更好的运行,需要选择合适的λ参数。

同样,正规化改变了J(θ),也要改变梯度下降和正规方程算法中θ的递归式。在正规方程算法中,只要λ>0,则矩阵可逆。


正文结束


一点吐槽:用了chrome和印象笔记快两年了,今天才发现印象笔记剪藏chrome插件有多好用,coursera上的文本基本都能一键收藏啊,还不用每次为了做笔记辛苦弄公式传图片。

大概以后就可以少写很多笔记了吧(各种偷懒)。

机器学习Week3的更多相关文章

  1. 斯坦福机器学习视频笔记 Week3 逻辑回归与正则化 Logistic Regression and Regularization

    我们将讨论逻辑回归. 逻辑回归是一种将数据分类为离散结果的方法. 例如,我们可以使用逻辑回归将电子邮件分类为垃圾邮件或非垃圾邮件. 在本模块中,我们介绍分类的概念,逻辑回归的损失函数(cost fun ...

  2. Andrew Ng机器学习课程笔记--week3(逻辑回归&正则化参数)

    Logistic Regression 一.内容概要 Classification and Representation Classification Hypothesis Representatio ...

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

    1 逻辑回归 1. classification 分类 eg:垃圾邮件分类.交易是否是欺诈.肿瘤类别.分类的结果是离散值. 2. sigmoid函数 使用线性方法来判断分类问题,会出现上图中的问题,需 ...

  4. ML:吴恩达 机器学习 课程笔记(Week3~4)

    Logistic Regression Regularization Neural Networks: Representation

  5. Coursera-吴恩达机器学习课程笔记-Week3

    logistic regression Binary classification problems logistic regression 是一个分类算法 Hypothesis function d ...

  6. Andrew Ng机器学习课程笔记--汇总

    笔记总结,各章节主要内容已总结在标题之中 Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记--week2(多元线性回归& ...

  7. Deep Learning--week1~week3

    week1 一张图片,设像素为64*64, 颜色通道为红蓝绿三通道,则对应3个64*64实数矩阵 为了用向量表示这些矩阵,将这些矩阵的像素值展开为一个向量x作为算法的输入 从红色到绿色再到蓝色,依次按 ...

  8. Coursera机器学习+deeplearning.ai+斯坦福CS231n

    日志 20170410 Coursera机器学习 2017.11.28 update deeplearning 台大的机器学习课程:台湾大学林轩田和李宏毅机器学习课程 Coursera机器学习 Wee ...

  9. Andrew Ng 的 Machine Learning 课程学习 (week3) Logistic Regression

    这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...

随机推荐

  1. python-day3爬虫基础之下载网页

    今天主要学习了关于网页下载器的一些内容,下边做一下总结: 1.网页下载器,顾名思义,就是将URL所对应的网页以HTML的形式下载到本地,最终存储成本地文件或者还是本地内存字符串,然后进行后续的分析与处 ...

  2. 微信小程序裁剪图片后上传

    上传图片的时候调起裁剪页面,裁剪后再回调完成上传; 图片裁剪直接用we-cropper   https://github.com/we-plugin/we-cropper we-cropper使用详细 ...

  3. win10远程桌面身份验证错误,要求的函数不受支持

    出现原因win10最近安装了一个更新补丁导致的,当然可以直接卸载这个补丁,也可以安装操作来就可以.需要修改注册表里边的项目,添加下面的设置. 解决办法1.win+R 输入 regedit, 打开注册表 ...

  4. 微服务监控druid sql

    参考该文档 保存druid的监控记录 把日志保存的关系数据数据库(mysql,oracle等) 或者nosql数据库(redis,芒果db等) 保存的时候可以增加微服务名称标识好知道是哪个微服务的sq ...

  5. 892B. Wrath#愤怒的连环杀人事件(cin/cout的加速)

    题目出处:http://codeforces.com/problemset/problem/892/B 题目大意:一队人同时举刀捅死前面一些人后还活着几个 #include<iostream&g ...

  6. TOJ-3474 The Big Dance(递归二分)

    链接:https://ac.nowcoder.com/acm/contest/1077/L 题目描述 Bessie and the herd, N (1 <= N <= 2,200) co ...

  7. 五、linux-mysql 下mysql的管理(二)

    1.插入语句: create  table test(  id int(4)  not null auto_increment,  name char(20)  not null,  primary ...

  8. 50)PHP,单例模式

    class B{ ; private static $instance; private function __construct(){} public static function getNew( ...

  9. C/C++预处理指令#include,#define,#undef,#if,#ifdef,#ifndef,#elif,#endif,#error......

    本文主要记录了C/C++预处理指令,常见的预处理指令如下: #空指令,无任何效果 #include包含一个源代码文件 #define定义宏 #undef取消已定义的宏 #if如果给定条件为真,则编译下 ...

  10. tomcat端口占用异常

    错误记录--更改tomcat端口号方法,Several ports (8005, 8080, 8009) 2011年01月18日 01:34:00 阅读数:202700 启动Tomcat服务器报错: ...