分类问题(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. Ubuntu下安装Docker,及Docker的一些常用命令操作

    1.什么是 Docker         Docker 是一个开源项目,Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案.         Docker 的基础是 Linux 容器(LXC ...

  2. Leetcode——863.二叉树中所有距离为 K 的结点

    给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K . 返回到目标结点 target 距离为 K 的所有结点的值的列表. 答案可以以任何顺序返回. 示例 1: 输 ...

  3. C#chart图表的应用

    在图表中,x轴代表类别,y轴代表数值(好比类与他们的属性) 这是数据库中的数据,下面我们选前5辆车,在图表中显示他们的名字,油耗,功率,价格 创建查询数据的类 class CarDA { public ...

  4. [ZJOI2019]浙江省选(半平面交)

    一眼看上去就应该能用半平面交去做. 首先考虑怎么求可能得第1名的人:每个人的函数为直线,就是在所有人的半平面交中的上边界者即可获得第一名,这个可以单调队列求解. 再考虑如何求可能得第2名的人:满足2个 ...

  5. MySQL数据库中索引的数据结构是什么?(B树和B+树的区别)

    B树(又叫平衡多路查找树) 注意B-树就是B树,-只是一个符号. B树的性质(一颗M阶B树的特性如下) 1.定义任意非叶子结点最多只有M个儿子,且M>2: 2.根结点的儿子数为[2, M]: 3 ...

  6. WdatePicker插件知识整理(一)

    当WdatePicker.js里的属性:$wdate=true时,在input里加上class="Wdate"就会在选择框右边出现日期图标,如果您不喜欢这个样式,可以把class= ...

  7. [LC] 350. Intersection of Two Arrays II

    Given two arrays, write a function to compute their intersection. Example 1: Input: nums1 = [1,2,2,1 ...

  8. LeetCode No.106,107,108

    No.106 从中序与后序遍历序列构造二叉树 题目 根据一棵树的中序遍历与后序遍历构造二叉树. 注意:你可以假设树中没有重复的元素. 示例 例如,给出 中序遍历 inorder = [9,3,15,2 ...

  9. 给本地web项目配置域名

    给本地的web项目配置一个域名 通常访问本地问项目时,使用localhost:port/projectname或者127.0.0.1:port/projectname来实现.我们可以通过配置tomca ...

  10. docker常用的命令-在自己心情低落的时候,告诫自己不要把负能量带给别人。

    daocker基础命令:https://www.cnblogs.com/xiaowenshu/p/10474746.html 一.Docker常用命令 安装部署好Dokcer后,执行的命令是docke ...