【机器学习】机器学习笔记(吴恩达)
文章目录
- 中文笔记地址
- 视频地址
- 第1章 引言
- 1.1 欢迎
- 1.2 机器学习是什么
- 1.3 监督学习
- 1.4 无监督学习
- 第2章
- 2.1 模型展示
- 单变量线性回归
- 2.2 代价函数
- 2.3-2.4 代价函数理解
- 2.5-2.6 梯度下降算法,梯度下降算法理解
- 第3章
- 第4章
- 4.2 多元(多变量)梯度下降算法
- 4.3 梯度下降实用技巧1-特征缩放
- 4.4 梯度下降算法实用技巧2 -学习率的选择
- 4.5 特征与多项式回归
- 4.6 正规方程
- 4.7 正规方程(在矩阵不可逆的时候解法)
- 第5章
- 5.6 向量化概念
- 第6章
- 6.1 分类问题
- 6.2 假设陈述
- 6.3 决策界限
- 6.4代价函数
- 6.5 简化代价函数与梯度下降
- 6.6 高级优化
- 6.7 多元分类:一对多
- 第7章
- 7. 1过拟合问题
- 7.2 代价函数
- 7.3 线性回归的正则化
- 7.4 正则化的逻辑回归模型
- 第8章
- 8.1 非线性建设
- 8.3 模型展示I
- 8.4 模型展示II
- 8.5 例子与直观理解神经网络 I
- 8.6 例子与直观理解神经网络 II
- 8.7 神经网络解决多元分类
- 第9章
- 9.1 代价函数
- 9.2 反向传播算法
- 9.3 理解反向传播算法
- 9.4 使用技巧:展开参数
- 9.5 梯度检测
- 9.6 随机初始化
- 9.7 总结
- 9.8 自动驾驶
- 第10章
- 10.1 决定下一步做什么
- 10.2 评估假设
- 10.3 模型选择和训练,验证,测试集
- 10.4 诊断偏差与方差
- 10.5 正则化和偏差、方差
- 10.6 学习曲线
- 10.7 决定接下来做什么
- 11.1 确定执行的优先级
- 11.2 误差分析
- 11.3 不对称性分类的误差评估
- 11.4 查准率和召回率的权衡
- 11.5 机器学习数据
- 12.1 优化目标(支持向量机)
- 12.2 直观上对于大间隔的理解
- 12.3 大间隔分类器的数学原理
- 12.4 核函数1
- 12.5 核函数2
- 12.6 使用SVM
中文笔记地址
https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes
视频地址
https://www.bilibili.com/video/BV164411b7dx?p=4
https://study.163.com/course/courseLearn.htm?courseId=1210076550#/learn/video?lessonId=1280912351&courseId=1210076550
第1章 引言
1.1 欢迎
1.2 机器学习是什么
定义机器学习为:在进行特定编程的情况下,给予计算机 学习能力的领域。目前存在几种不同类型的学习算法,主要的两种类型被我们称之为监督学习和无监督学习。监督学习这个想法是指,我们将教计算机如何去完成任务, 而在无监督学习中,我们打算让它自己进行学习
1.3 监督学习
**监督学习指的就是我们给学习算法一个数据集(训练集)。这个数据集由“正确答案”组成。
回归与分类问题定义
回归 这个词的意思是,我们在试着推测出这一系列连续值属性
回归问题 ,指我们试着推测出一个连续值的结果,比如房子的价格(1-1000元),尽管价格最小单位是分,但我们还是把它作为连续值
分类指的是,我们试着推测出离散的输出值,如是否是肿瘤(是为1,不是为0)
支持向量机,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征
假设你经营着一家公司,你想开发学习算法来处理这两个问题:
(1)你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你想预测接下来的三个月能卖多少件?
(2)你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,你要判断它们是否曾经被盗过?
那这两个问题,它们属于分类问题、还是回归问题
问题一是一个回归问题,因为你知道,如果我有数千件货物,我会把它看成一个实数(有理数+无理数),一个连续的值。因此卖出的物品数,也是一个连续的值。
问题二是一个分类问题,因为我会把预测的值,用 0 来表示账户未被盗,用 1 表示账户曾经被盗过。所以我们根据账号是否被盗过,把它们定为0 或 1,然后用算法推测一个账号是 0 还是 1,因为只有少数的离散值,所以我把它归为分类问题。
1.4 无监督学习
无监督学习中,数据集没有任何的标签或者是有相同的标签。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么
无监督学习就是运行一个聚类算法(无监督学习算法),把不同的个体,归入不同类或者归为不同的类型的人
无监督学习的第2种算法,叫“鸡尾酒会算法”,能两种混合在一起的声音区分开来(如两种混在一起的人声,人声和背景音混在一起)
问题Q&A汇总
无监督学习和有监督学习的区别:(1)数据集,有监督学习的数据集是提前打好标签的,而无监督学习的数据集是没有任何标签或标签都是相同的
第2章
2.1 模型展示
单变量线性回归
一元线性回归模型(单变量线性回归模型)
一种可能的表达方式为:
因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。h表示为假设函数
我们可以通过模型参数,a和b (对应文中的0和1两个参数),来定义不同的假设函数
2.2 代价函数
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择
整体的目标函数是使得误差平方代价函数值最小
这个最小的点,对应的参数(0,1),形成最终的目标函数
看到第2张图,是等高线,所有圆圈上(参数x0,和参数x1),对应的j(x0,x1)的值都是相同的,类似于等高线
2.3-2.4 代价函数理解
提供假设函数,该假设函数有两个参数,我们通过误差平方和来定义代价函数,当选定特定的参数0和参数1,使代价函数值最小,这个就是我们的目标函数
2.5-2.6 梯度下降算法,梯度下降算法理解
梯度下降算法,可以用于求函数的最小值,可用梯度下降算法来求出代价函数J(x0,x1)的最小值
梯度下降算法公式
公式当中的:= 为赋值,而=为条件判断语句(视频中是这样定义的)
另外更新x0,x1 参数需要同步更新,右边先更新x0 ,再更新x1 不是典型的梯度下降算法,结果可能不正确
梯度下降会自动采用更小的幅度,没有必要再降低学习率a
梯度下降可以收敛到一个局部最小值,即使学习率a是固定的。当接近一个局部最小值时,梯度下降会自动采取更小的步骤,所以不需要随时间减小学习率a
但就目前而言,应用刚刚学到的算法,你应该已经掌握了批量梯度算法,并且能把它应用到线性回归中了,这就是用于线性回归的梯度下降法。
如果你之前学过线性代数,有些同学之前可能已经学过高等线性代数,你应该知道有一种计算代价函数最小值的数值解法,不需要梯度下降这种迭代算法。在后面的课程中,我们也会谈到这个方法,它可以在不需要多步梯度下降的情况下,也能解出代价函数的最小值,这是另一种称为正规方程(normal equations)的方法。实际上在数据量较大的情况下,梯度下降法比正规方程要更适用一些。
现在我们已经掌握了梯度下降,我们可以在不同的环境中使用梯度下降法,我们还将在不同的机器学习问题中大量地使用它。所以,祝贺大家成功学会你的第一个机器学习算法。
在下一段视频中,告诉你泛化(通用)的梯度下降算法,这将使梯度下降更加强大。
第3章
矩阵和向量相关概念
第4章
4.2 多元(多变量)梯度下降算法
下面是单变量梯度下降和多变量梯度下降的对比
4.3 梯度下降实用技巧1-特征缩放
特征缩放,先看左边的图,如果有两个特征,一个特征是房子大小0-2000,而另一个特征是卧室的数量(1-5),那么画出来的代价函数的图像,就是椭圆状,这种图像经过梯度下降算法,很难收敛,因为(x0,x1)会来回震荡
我们经过特征缩放,即x1=size/2000,x2=卧室数量/5,这样的操作后,x1与x2 都处于 0到1的范围
尽量使得每一个特征处于-1<= xi <=1 这个范围内,误差大一点也没关系,但是太大或者大小就要注意了
使用特征缩放时,有时候会进行均值归一化的操作
特征值x1= x1 -u1 / s1
这里的u1 就是训练数据集当中 x1 的平均值,而 s1 就是 x1的范围,即x1最大值-x1 最小值。 s1 也可以取x1的标准差,不过一般用x1最大值-x1 最小值就行
4.4 梯度下降算法实用技巧2 -学习率的选择
在梯度下降算法运行过程中,该图的横轴是迭代次数,而 竖轴是代价函数的最小值,通常情况下,迭代次数越多,代价函数的最小值会依次减小。有一个自动收敛测试,当J(x)小于 10-3 次方时,就认为已经收敛
像图中的三幅图,都要降低学习率a。但是如果学习率a太小的话,收敛就会很慢,那么如何选择合适的学习率呢
先找一个最小的学习率,再找一个太大的学习率,然后取一个最大可能值或比最大值小一些的值,作为学习率
4.5 特征与多项式回归
我们房子的特征,除了宽和高两个特征,还能把两者结合起来,如房子面积作为一个特征,这样有可能更能准确用来预测房子的价格
线性回归模型,假设函数除了选择直线外如 omg 0 + omg 1 x,还能选择二次多项式,或者三次多项式,这样可能拟合得更好,如果使用了梯度下降,需要特征缩放,不然size ,size 平方,size 三次方,差别太大
当然多项式,也可以选择平方根函数,这样或许拟合得更好。后续会介绍算法去自动选择合适的多项式
4.6 正规方程
在讲正规方程以前,我们知道使用梯度下降,是通过迭代的方法,使得代价函数不断下降
通过求导,或者求所有变量的偏微分,可以获取函数的最小值,但这样实现起来过于复杂,这里我需要知道实现原理即可
对于下面这个例子,有4个特征,我们构造x0的一列,然后表示出矩阵X和向量y,通过下面这个式子就能直接求出oumiga的最小值
构造正规方程的步骤如下
注意:使用正规方程,不用进行特征缩放
对比梯度下降和正规方程,一般特征数量 n>10000 对于线性回归模型就可以使用梯度下降
4.7 正规方程(在矩阵不可逆的时候解法)
XT.X不可逆的情况下,仍然可以使用Octave 里面的伪逆函数pinv 获取正确的结果
其余解决办法有两个,(1)一些已经线性相关的特征,如x1=(3.28)平方* x2,这时候可以去掉x2这个特征
(2)如果特征太多(比如=样本m太少,而特征n太多),可以删除一些特征,或者使用正则化方法
第5章
5.6 向量化概念
用C++ 实现向量化的计算
梯度下降的公式,未用向量化实现
梯度下降算法用向量化实现后的公式
第6章
6.1 分类问题
如果将线性回归用于分类问题上,看到图像1 拟合得很好,当假设函数h(x)>= 0.5 时,预测 y=1 ,就是肿瘤为恶性,当h(x)< 0.5 时,预测 y=0 ,肿瘤为良性。但如果增加一个点x ,假设函数就会变成图像2,这时当h(x)< 0.5时,预测就不准了,此时当h(x)< 0.5 ,有两个恶性肿瘤样本也被认为是良性肿瘤了
使用逻辑回归算法,可以使得假设函数的值在0-1之间
6.2 假设陈述
逻辑回归模型
看一个具体的逻辑回归问题
P(y=0| x;oumiga) 这个公式可以理解成条件概率
6.3 决策界限
g(z)> =0.5 当 z >=0 时
6.4代价函数
逻辑回归的代价函数选择
如果直接使用线性回归的,误差平方作为代价函数,会出现代价函数不是凸函数的情况,会得到局部最优解,影响梯度下降算法寻找全局最小值
下面是逻辑回归的代价函数
先看下if y=1 的函数图像,如果 y=1 时,h(x)接近为0,这时候认定他是一个恶性肿瘤,这时候代价会很大(因为之前预测是h(x)<0.5 是良性)
下面是y=0的代价函数,当h(x)=1 时,若还是预测y=0 ,代价会非常高
6.5 简化代价函数与梯度下降
可以将逻辑回归的代价函数进行简化
注意,假设函数的输出值,表示的P(y=1 |x;oumiga即为恶性肿瘤的概率,逻辑回归的代价函数,是根据统计学当中的最大似然估计得出的
下面的图1,少了1/m,网上说也可以归到学习率里面去
图1
利用梯度下降算法找到代价函数的最小值,表面上看上去与线性回归的梯度下降算法一样,但是这里 的h
【机器学习】机器学习笔记(吴恩达)相关推荐
- 斯坦福大学机器学习课程资料-吴恩达老师主讲(2008版)
吴恩达老师于08年在斯坦福大学开办的机器学习课程,本站将课程视频.讲义.笔记分享下,这个课程的视频比较模糊,有大量的数学推导,有点难度,建议有一定数学基础的同学学习,初学者请绕道. 吴恩达老师后来推出 ...
- 笔记 | 吴恩达Coursera Deep Learning学习笔记
向AI转型的程序员都关注了这个号☝☝☝ 作者:Lisa Song 微软总部云智能高级数据科学家,现居西雅图.具有多年机器学习和深度学习的应用经验,熟悉各种业务场景下机器学习和人工智能产品的需求分析.架 ...
- 吴恩达卷积神经网络 笔记,吴恩达 深度神经网络
如何评价吴恩达的学术地位 吴恩达(AndrewNg),斯坦福计算机系的副教授,师从机器学习的大师级人物MichaelI.Jordan. 同门师兄弟包括ZoubinGhahramani,TommiJaa ...
- 吴恩达卷积神经网络笔记,吴恩达人工智能公开课
吴恩达是个谁 吴恩达(1976-,英文名:AndrewNg),华裔美国人,是斯坦福大学计算机科学系和电子工程系副教授,人工智能实验室主任.吴恩达是人工智能和机器学习领域国际上最权威的学者之一. 吴恩达 ...
- 机器学习笔记—吴恩达
该部分整理了关于机器学习基础理论的知识,整合了其他大佬的笔记做了 一份x-mind图.需要的话可以自取. 还有相关的数学基础理论也做了部分笔记 链接:https://pan.baidu.com/s/1 ...
- 课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础
1 1. Introduction 1.1 Supervised Learning 已知输入x以及其对应的标签y,求解 f:x→y 回归 regression:输出的结果y是一个连续的变量 y=ℝ 分 ...
- 学习笔记 吴恩达 斯坦福大学公开课 :机器学习课程-1 机器学习的动机与应用
机器学习的动机与应用 1,机器学习的定义 1959:"Field of study that gives computers the ability to learn without bei ...
- 机器学习(Machine Learning) - 吴恩达(Andrew Ng) 视频笔记
背景:写于20190408,大概一周前我已经看到了P47 8-4 - Model Representation II 视频链接:https://www.bilibili.com/video/av991 ...
- 机器学习入门(吴恩达)——单变量线性回归
2.1模型表示 从线性回归算法开始学起,从一个预测住房价格的例子开始,需要一个数据集(包含住房价格),根据不同房子尺寸的大小所出售的价格,画出数据集如下图 要想知道多大的房子可以出售什么价格,就需要构 ...
- 【简单入门】ChatGPT prompt engineering (中文版)笔记 |吴恩达ChatGPT 提示工程
目录 思维导图 一.资料 二. 指南 环境配置 两个基本原则(最重要!!!!) 原则一:编写清晰.具体的指令 **策略一:使用分隔符清晰地表示输入的不同部分**,**分隔符可以是:```," ...
最新文章
- 基于 Nginx+lua+Memcache 实现灰度发布
- 三星note5 android版本区别吗,三星Note5哪种颜色好看?三星Note5四种颜色区别对比图解...
- Codeforces Round #191 (Div. 2)
- 零基础学Python(第二十一章 OS文件目录)
- (超详细版)Linux下Hadoop2.7.1集群环境的搭建(3台为例)
- c#Process.Start无法启动exe程序的问题
- 限时秒杀┃秒杀90%的玩具,让孩子爱上科学的彩虹实验2来了!
- 2019第三届中国通信业物联网大会邀请函
- win10远程桌面 CredSSP加密Oracle修正的解决办法
- HTML知识积累及实践(二) - 标签样式
- sublime python调试_如何用sublime调试程序
- 手撕代码合集[短期更新]
- 深度学习与自动驾驶领域的数据集(KITTI,Oxford,Cityscape,Comma.ai,BDDV,TORCS,Udacity,GTA,CARLA,Carcraft)
- GoldWave几种转换格式方法
- 如果们正预测基本面子
- python基础之文件处理
- 亚马逊违反受限商品政策三次,亚马逊恢复受限asin
- 大学计算机组装作业台式,组装一部单机作业基本型计算机的50步骤
- WiFi-ESP8266入门http(3-4)网页一键配网(1若为普通wifi直连 2若为西电网页认证自动网页post请求连接)+网页按钮灯控+MQTT通信...
- 数字IC所用软件及IP分类
热门文章
- DTU接入ZWS云的通信协议
- 【Linux-网桥原理分析】
- 牛客小白月赛17 - J - 计数(组合数学隔板法)
- h5抽奖大转盘开发笔记小结,涉及到的知识点和包资源
- 新手做自媒体短视频,会用到的工具和素材站分享,收藏起来慢慢看
- NGS检测ALK融合大起底--转载
- html仿ppt动画,jquery仿PPT幻灯片特效插件ppt.js
- CRMEB多商户版跨域问题解决
- Vue如何优雅地进行事件解绑和解绑
- (译)BPF技巧和窍门:bpf_trace_printk() 和 bpf_printk() 指南