吴恩达老师机器学习课程chapter01——序言+回归
吴恩达老师机器学习课程01——序言+线性回归
本文是非计算机专业新手的自学笔记,欢迎指正与其他任何合理交流。
本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第一章、第二章、第四章。
序言
机器学习中两种最基本的类别:
- 监督学习(Supervised learning)
- 回归(Regression)
- 分类(Classification)
- 无监督学习(Unsupervised learning)
- 聚类(Cluster)
最简单的线性回归(单特征)
基本概念
例题如下:

m:训练集中样本数量;
i:样本序号;
x:输入;
y:输出;
θ:为待定参数组成的向量,一般记成列向量。
单特征(x为一维向量)线性规划中:
\]
其中x0=1,可以用\(\theta _{0} x_{0}\)表示常数。
问题:如何确定θ?
代价函数
定义代价函数\(J(θ)\):
\]
不同的θ会导致\(J(θ)\)大小变化。
例如:
(1)

(2)

认为\(J(θ)\)越小,拟合效果越好。
故问题转化为优化问题如下:

利用梯度下降解最优问题
此处不推导梯度下降法,直接使用。
这里使用的梯度下降法,为Batch Gradient Descent,即每一步下降使用了所有训练样本。
利用梯度下降法解该最优问题的表达式如下:
\]
其中,α表示步长,机器学习中称之为学习率(learning rate)。
学习率的选取很重要:过大会导致发散,无法收敛;过小会导致算法步数过多,花费时间长。吴恩达老师建议,可以如“0.03,0.1,0.3,1……”这样取值。

梯度下降法在编程时应当注意同步更新θ:

多特征线性回归
特征的向量x不再是一维向量。
例题如下:

因此要做出以下改变:


利用梯度下降解优化问题

直接求导/正规方程法
正规方程方法的推导如下(不包含矩阵与向量求导的推导):

几点注意
- 特征的缩放(Feature Scaling)
特征的数量级差别过大会导致梯度下降步数过多。可以通过$x=\frac{x-\mu }{max(x_{i} )-min(x_{i} )} $的方法进行规格化。
正规方程法中就不需要了。 - 多项式回归(Polynomial Regression)
可以将x、x^2、x^3……视为不同特征,进行多特征拟合,得到多项式回归结果,进行非线性拟合。 - 正规方程中不可求逆
求逆(inv)时,出现矩阵不可逆很可能是因为特征出现冗余,不同特征之间线性相关。可以删除部分特征。无法删除时可以求其伪逆(pinv)。 - 正规方程法很直接,但是在n很大时,求矩阵乘法和逆的过程运算会变慢。
吴恩达老师机器学习课程chapter01——序言+回归的更多相关文章
- 机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 http://www.ai-start.com/
机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 GNU Octave 开源 MatLab http://www.ai-start.com/ https://zhuanlan.zhihu ...
- 吴恩达《机器学习》课程笔记——第六章:Matlab/Octave教程
上一篇 ※※※※※※※※ [回到目录] ※※※※※※※※ 下一篇 这一章的内容比较简单,主要是MATLAB的一些基础教程,如果之前没有学过matlab建议直接找一本相关书籍,边做边学,matl ...
- 吴恩达《机器学习》课程总结(5)_logistic回归
Q1分类问题 回归问题的输出可能是很大的数,而在分类问题中,比如二分类,希望输出的值是0或1,如何将回归输出的值转换成分类的输出0,1成为关键.注意logistics回归又称 逻辑回归,但他是分类问题 ...
- 深度学习 吴恩达深度学习课程2第三周 tensorflow实践 参数初始化的影响
博主 撸的 该节 代码 地址 :https://github.com/LemonTree1994/machine-learning/blob/master/%E5%90%B4%E6%81%A9%E8 ...
- 吴恩达《机器学习》课程笔记——第七章:Logistic回归
上一篇 ※※※※※※※※ [回到目录] ※※※※※※※※ 下一篇 7.1 分类问题 本节内容:什么是分类 之前的章节介绍的都是回归问题,接下来是分类问题.所谓的分类问题是指输出变量为有限个离散 ...
- 吴恩达《机器学习》课程总结(18)_照片OCR
18.1问题描述和流程图 (1)图像文字识别是从给定的一张图片中识别文字. (2)流程包括: 1.文字侦测 2.字符切分(现在不需要切分了) 3.字符分类 18.2滑动窗口 在行人检测中,滑动窗口是首 ...
- 吴恩达《机器学习》编程作业——machine-learning-ex1:线性回归
❄❄❄❄❄❄❄❄[回到目录]❄❄❄❄❄❄❄❄ 本次编程作业中,需要完成的代码有如下几部分: [⋆] warmUpExercise.m - Simple example function in Octa ...
- 跟我学算法-吴恩达老师(超参数调试, batch归一化, softmax使用,tensorflow框架举例)
1. 在我们学习中,调试超参数是非常重要的. 超参数的调试可以是a学习率,(β1和β2,ε)在Adam梯度下降中使用, layers层数, hidden units 隐藏层的数目, learning_ ...
- 跟我学算法-吴恩达老师(mini-batchsize,指数加权平均,Momentum 梯度下降法,RMS prop, Adam 优化算法, Learning rate decay)
1.mini-batch size 表示每次都只筛选一部分作为训练的样本,进行训练,遍历一次样本的次数为(样本数/单次样本数目) 当mini-batch size 的数量通常介于1,m 之间 当 ...
- 跟我学算法-吴恩达老师的logsitic回归
logistics回归是一种二分类问题,采用的激活函数是sigmoid函数,使得输出值转换为(0,1)之间的概率 A = sigmoid(np.dot(w.T, X) + b ) 表示预测函数 dz ...
随机推荐
- day12_内部类&API
1.参数传递 1.1 类名作为形参和返回值 类名--方法形参 方法的形参是类名,需要的是该类的对象:实际传递的是该对象的地址值 类名--返回值 方法的返回值是类名,返回的是该类的对象: ...
- VMware-SSH协议的认证方式
SSH1协议支持非对称密钥认证方式.口令认证,无法保证连接的完整性. SSH2协议支持SSH1协议支持的所有认证方式,增加数据保密性. 基于主机的认证方式[!不安全!] 当本地计算机收到执行远程命令的 ...
- 06 RDD编程
总共有多少学生?map(), distinct(), count() 开设了多少门课程? 每个学生选修了多少门课?map(), countByKey() 每门课程有多少个学生选?map(), coun ...
- python 获取近几周日期
import datetimedef get_Next_day(count): today = datetime.datetime.today().date() for i in range(coun ...
- Nginx--logrotate日志切割打包
1.系统是默认安装的,查看系统是否安装logrotate centos rpm -ql logrotate /etc/cron.daily/logrotate /etc/logrotate.conf ...
- python 获取docker容器内存使用率
# -*- encoding: utf-8 -*- from subprocess import Popen, PIPE, STDOUTimport time def Run_Cmd(cmd): # ...
- ELK分布式日志系统的搭建
前言 ELK即分别为ElasticSearch.Logstash(收集.分析.过滤日志的工具).Kibana(es的可视化工具),其主要工作原理就是由不同机器上的logstash收集日志后发送给es, ...
- 在TMOS系统中添加按键检测功能
目录 TMOS系统中自带有按键检测轮询功能,默认100ms检测一次,在debug时很有帮助.不过在需要低功耗休眠的前提下,检测按键需要频繁唤醒,影响功耗,故多数BLE的工程都没有用到这个功能.代码贴在 ...
- CentOS 7.4使用yum源安装MySQL 5.7.20
CentOS 7.4使用yum源安装MySQL 5.7.20 小牛教程 InnoDB存储引擎 2022年11月25日 从CentOS 7.0发布以来,yum源中开始使用Mariadb来代替MySQL的 ...
- html原声启动本地服务器,用http-server启动本地服务器
第一: 准备node.js环境: 打开cmd,输入:npm install http-server -g 第二: 安装 http-server npm install http-server -g 安 ...