机器学习日记(2)

这篇博客介绍了单变量和多变量线性回归,重点讲解了代价函数、梯度下降算法,包括学习率的影响和理解,以及在多变量线性回归中的应用。还探讨了特征缩放和正规方程在解决线性回归问题中的作用,强调了在不同场景下选择合适方法的重要性。
摘要由CSDN通过智能技术生成

机器学习日记(2)

本次我们将以单变量线性回归为起点,讨论其算法及机器学习的一些指标。

单变量线性回归(Linear Regression with One Variable)

让我们通过一个例子来开始:这个例子是预测住房价格的,我们要使用一个数据集,数据集包含俄勒冈州波特兰市的住房价格。在这里,我要根据不同房屋尺寸所售出的价格,画出我的数据集。比方说,如果你朋友的房子是 1250 平方尺大小,你要告诉他们这房子能卖多少钱。那么,你可以做的一件事就是构建一个模型,也许是条直线,从这个数据模型上来看,也许你可以告诉你的朋友,他能以大约 220000(美元)左右的价格卖掉这个房子。这就是监督学习回归算法的一个例子。
在这里插入图片描述
假使我们回归问题的训练集(Training Set)如下表所示:
在这里插入图片描述
我们将要用来描述这个回归问题的标记如下: 𝑚 代表训练集中实例的数量
𝑥 代表特征/输入变量
𝑦 代表目标变量/输出变量
(𝑥, 𝑦) 代表训练集中的实例
(𝑥(𝑖), 𝑦(𝑖)) 代表第𝑖 个观察实例
ℎ 代表学习算法的解决方案或函数也称为假设(hypothesis)
在这里插入图片描述
这就是一个监督学习算法的工作方式,我们可以看到这里有我们的训练集里房屋价格我们把它喂给我们的学习算法,学习算法的工作了,然后输出一个函数,通常表示为小写 ℎ表示。ℎ 代表 hypothesis(假设),ℎ表示一个函数,输入是房屋尺寸大小,就像你朋友想出售的房屋,因此 ℎ 根据输入的 𝑥值来得出 𝑦 值,𝑦 值对应房子的价格 因此,ℎ 是一个从𝑥 到 𝑦 的函数映射。那么我们该如何表达 ℎ?
一种可能的表达方式为:ℎ𝜃(𝑥) = 𝜃0 + 𝜃1𝑥,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。

代价函数(Cost Function)

而在单变量线性回归问题中,我们会引入一些术语,我们现在要做的便是为我们的模型选择合适的参数(parameters)𝜃0 和 𝜃1,在房价问题这个例子中便是直线的斜率和在𝑦 轴上的截距。我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。在这里插入图片描述
我们暂时将建模误差的平方和定义为代价函数,代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。代价函数的作用是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回归问题最常用的手段了。
我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数, 即使得代价函数
在这里插入图片描述最小,最小化“损失”。

为了使代价函数取到最小值,我们不妨先绘制当 取𝜃0=0,𝜃1作为唯一变量时𝐽(𝜃1)关于𝜃1的二维图像,可以看出:𝜃1=1时,模型与训练函数完美拟合,此时可以取得代价函数𝐽(𝜃1)为最小值0。
在这里插入图片描述
同样地我们以𝜃0和𝜃1为变量绘制一个等高线图,三个坐标分别为𝜃0和𝜃1 和𝐽(𝜃0, 𝜃1):
在这里插入图片描述
可以看出在三维空间中存在一个使得𝐽(𝜃0, 𝜃1)最小的点,存在于弓型图形的最底部,这便是我们希望取到的点。从此便有自然而然地出现一个问题:我们应该如何去接近、取到这一点呢?

梯形下降(Gradient Descent)

梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数𝐽(𝜃0, 𝜃1) 的最小值。
梯度下降背后的思想是:开始时我们随机选择一个参数的组合(Ǘ

大数据开发中的shell学习日记可以包括以下内容: 1. 学习Linux命令和shell脚本:作为大数据开发者,在Linux下进行开发是常见的,因此了解一些基本的Linux命令和编写shell脚本的技能是必备的。 2. 学习Django:Django是一个常用的Python Web框架,对于大数据开发来说,掌握Django可以帮助你构建数据分析和机器学习的应用程序。 3. 数据分析与机器学习:大数据开发中经常需要进行数据分析和机器学习的工作,因此学习相关的技术和算法是必要的。可以参考一些前人的经验贴和教程,了解常见的数据分析和机器学习方法。 4. 大数据组件:了解大数据开发中常用的组件,如Hadoop、Spark等,掌握它们的基本原理和使用方式。 5. 前端内容:虽然大数据开发主要是后端的工作,但了解一些基本的前端知识也是有帮助的,比如HTML、CSS和JavaScript。 6. 数据架构:了解大数据开发中的数据架构,包括数据采集层、数据存储与分析层、数据共享层和数据应用层等,这对于设计和搭建大数据系统是很重要的。 此外,你还可以在牛客网等平台上深入学习和交流大数据开发的经验和知识。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java版斗地主源码-Interview-Summary:回顾这两年来学了些什么和日记,private](https://download.csdn.net/download/weixin_38592548/19393922)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [程序员必备学习资源资料库!!!免费开发书籍中文版大全](https://blog.csdn.net/qq_32146369/article/details/106194267)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [大数据平台架构--学习日记(一)](https://blog.csdn.net/lp279579561/article/details/104746083)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值