吴恩达机器学习1——单变量线性回归、梯度下降
目录
- 吴恩达机器学习第一周
- 一、什么是机器学习?
- 二、机器学习的分类
- 1. 监督学习
- 2. 非监督学习
- 3. 监督学习和非监督学习的举例
- 三、单变量线性回归(**Linear Regression with One Variable**)
- 1. 模型表示
- 2. 代价函数
- 3. 梯度下降算法
- 4. 梯度下降的线性回归
- 作业
- 1. 单变量线性回归
- 2. 多变量线性回归
吴恩达机器学习第一周
一、什么是机器学习?
Arthur Samuel 定义:使计算机无需明确编程即可学习的学习领域
Tom Mitchell 定义:如果某计算机程序在T任务中的性能(由P衡量)随着经验E的提高而提高,则可以说它是从经验E中学习有关某类任务T和性能度量P的机器学习方法。
例如:在玩跳棋的任务中。E =玩过许多跳棋游戏的经验、T =扮演跳棋的任务、P =程序将赢得下一场比赛的概率。
二、机器学习的分类
- 机器学习问题通常分为两类,一类是监督学习(Supervised learning),一类是非监督学习(Unsupervised learning)。监督学习这个想法是指,我们将教计算机如何去完成任务,而在无监督学习中,我们打算让它自己进行学习。
1. 监督学习
***监督学习***指的就是我们给学习算法一个数据集。这个数据集由“正确答案”组成,也就是说已经做好了标记。监督学习问题又分为“回归”和“分类”问题。在回归问题中,我们试图预测连续输出中的结果,这意味着我们试图将输入变量映射到某个连续函数。在分类问题中,我们改为尝试预测离散输出的结果。换句话说,我们正在尝试将输入变量映射为离散类别。
***回归问题:***在房价的例子中,我们给了一系列房子的数据,我们给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的正确答案。比如你朋友那个新房子的价格。用术语来讲,这叫做回归问题。我们试着推测出一个连续值的结果,即房子的价格。
在上图中我们将面积和价格的坐标记录在图像坐标系中,我们想方设法拟合出一条类似于红色的线,再将新房子的面积带入直线中求解价格。为了更加精确,我们还可以应用二次方程来拟合
分类问题,比如说我有5个良性肿瘤样本,在1的位置有5个恶性肿瘤样本。现在我们有一个朋友很不幸检查出乳腺肿瘤。假设说她的肿瘤大概这么大,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率。用术语来讲,这是一个分类问题。
假设你经营着一家公司,你想开发学习算法来处理这两个问题:
你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你想预测接下来的三个月能卖多少件?
你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,你要判断它们是否曾经被盗过?
那这两个问题,它们属于分类问题、还是回归问题?1.问题一是一个回归问题,因为你知道,如果我有数千件货物,我会把它看成一个实数,一个连续的值。因此卖出的物品数,也是一个连续的值。
2.问题二是一个分类问题,因为我会把预测的值,用 0 来表示账户未被盗,用 1 表示账户曾经被盗过。所以我们根据账号是否被盗过,把它们定为0 或 1,然后用算法推测一个账号是 0 还是 1,因为只有少数的离散值,所以我把它归为分类问题。
2. 非监督学习
在无监督学习中,我们已知的数据。看上去有点不一样,不同于监督学习的数据的样子,即无监督学习中没有任何的标签或者是有相同的标签或者就是没标签。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么。别的都不知道,就是一个数据集。你能从数据中找到某种结构吗?针对数据集,无监督学习就能判断出数据有两个不同的聚集簇。这是一个,那是另一个,二者不同。是的,无监督学习算法可能会把这些数据分成两个不同的簇。所以叫做***聚类算法***。
无监督学习,它是学习策略,交给算法大量的数据,并让算法为我们从数据中找出某种结构。
3. 监督学习和非监督学习的举例
垃圾邮件问题。如果你有标记好的数据,区别好是垃圾还是非垃圾邮件,我们把这个当作监督学习问题。
新闻事件分类的例子,我们看到,可以用一个聚类算法来聚类这些文章到一起,所以是无监督学习。
细分市场的例子,你可以当作无监督学习问题,因为我只是拿到算法数据,再让算法去自动地发现细分市场。
糖尿病的例子,这个其实就像是我们的乳腺癌。只是替换了好、坏肿瘤,良性、恶性肿瘤,我们改用糖尿病或没病。所以我们把这个当作监督学习,我们能够解决它,作为一个监督学习问题,就像我们在乳腺癌数据中做的一样。
三、单变量线性回归(Linear Regression with One Variable)
1. 模型表示
这里首先给出一个监督学习问题的例子:这里有来自 Portland 地区 47 所房子的面积和 价格数据,通过上述给出的数据,我们是否可利用机器学习来根据房子的面积大小来预测房子价格。
监督学习就是对训练数据给出了正确结果,这里所给出了 47 所房子的真实价格(相对于预测价格来说)就是正确结果。而线性回归就是要根据输入的特征来进行相应的预测。我们将要用来描述这个回归问题的标记如下:
m 代表训练集中实例的数量
x 代表特征/输入变量
y 代表目标变量/输出变量
(x,y) 代表训练集中的样本
(Xi,Yi) 代表第 i 个观察实例
h 代表学习算法的解决方案或函数也称为假设(hypothesis)
2. 代价函数
对于一次线性方程
我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数最小
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回归问题最常用的手段了。
代价函数的直观理解
求解流程图:
我们绘制一个等高线图,三个坐标分别为
吴恩达机器学习1——单变量线性回归、梯度下降相关推荐
- 吴恩达机器学习2——单变量线性回归
吴恩达机器学习2--单变量线性回归 监督学习工作模式 训练集中同时给出了输入输出,即人为标注的"正确结果"喂给学习算法,得到一个函数h,h 可以根据输入的x得到一个y,因此h是x到 ...
- 吴恩达机器学习之单变量线性回归实现部分
C++实现 代码实现 "linear_regression.h" //单变量线性回归模型 struct elem_var1 {double x, y; //训练集元素数据:自变量. ...
- 吴恩达机器学习之单变量线性回归理论部分
理论部分 1.方程形式 在进行数据处理过程中,有时数据图像可拟合成单变量线性函数,即 2.如何拟合 此时,我们虽知道拟合函数的形式,但如何拟合仍是个问题,怎样拟合可以最接近实际数据情况呢? 最小二乘法 ...
- 吴恩达机器学习(八)多元梯度下降
文章目录 1.多特征量的线性回归 2.多元梯度下降法 1.多特征量的线性回归 开始讨论一种新的线性回归的版本,这种形式适用于多个变量或者多特征量的情况. 假设我们不仅有房屋面积作为预测房屋价格的一种特 ...
- 吴恩达机器学习训练1:线性回归(多变量)
吴恩达机器学习训练1:线性回归(多变量) 本小节为练习1中选做题,为多变量(多特征参数)的线性回归计算. 还是预测房价的例子,假设已经两个特征参数,分别是房子的尺寸和卧室的数量,在数据的第一列和第二列 ...
- Linear Regression 吴恩达机器学习实验一(线性回归)
Linear Regression with one variable 实验要求 """ 在这部分练习中,您将使用一个变量实现线性回归,以预测食品卡车的利润. 假设你是一 ...
- 吴恩达机器学习笔记 —— 5 多变量线性回归
http://www.cnblogs.com/xing901022/p/9321045.html 本篇主要讲的是多变量的线性回归,从表达式的构建到矩阵的表示方法,再到损失函数和梯度下降求解方法,再到特 ...
- 吴恩达机器学习ex5:正则化线性回归和方差与偏差
1.正则化线性回归 1.1.数据集的可视化 训练数据集:X表示水位变化的历史记录,y表示流出大坝的水量: 交叉验证数据集:Xval,yval: 测试数据集:Xtest,ytest: 其中,训练数据集1 ...
- 用懊悔法学习吴恩达机器学习【2】-----线性回归的梯度下降
以下英文文档皆出自课程配套笔记 课9 代价函数二 这一课时考虑使用两个参数来描述代价函数.此时等价函数是一个碗形,碗底点为最小值,将碗形用等高线表示,等高线中心就是代价函数的最小值.所以距离等高线中心 ...
最新文章
- K-Means 及 K-Means++
- CALL TRANSACTION - bdc_options
- fullcalendar5.X版本 显示自定义html内容
- 前端学习(1913)vue之电商管理系统电商系统之创建user分支并把代码推到码云
- uni 加入图标_uniapp中引入 iconfont
- 如何增加人机数量及平衡_如何识别自己身体类型,针对三种不同身体类型的改变策略...
- 控制层远程调用业务层_如何应用数据访问服务层分离系统中的业务层和持久层之间耦合关系...
- Android的Jetpack概括
- 启动sqlserver服务时,总是出现“系统错误(126),指定驱动程序无法加载
- 树莓派Ubuntu21.04,树莓派4b/4g,Python3.9.5搭建PyTorch
- 东大oj1155 等凹函数
- HTML前台分页样例
- python数据常用命令_python写的系统常用命令(一)
- Android webview广告过滤的实现
- git在commit提交时报:On branch master Changes not staged for commit
- 让nodeJS支持ES6的词法----babel的安装和使用
- 哔哩哔哩弹幕api查找
- QQ2006Beta1发布3D秀+新聊天窗口赚眼球(转)
- 安防天下4——硬盘录像机DVR技术
- css换行方式和文字溢出