- 🌸博主主页:@釉色清风
- 🌸文章专栏:机器学习
- 🌸今日语录:温柔的一半是知识,没有知识的涵养撑不起你想要的风骨。
☘️0文章预览
本系列文章主要是根据吴恩达老师的机器学习课程以及自己的理解整合而成,是对知识的回顾,也方便之后的复习。
本篇文章主要内容是机器学习中最基础目前世界上使用也最广泛的模型——线性回归模型,同时,你也可以从本篇文章了解到机器学习中监督学习的整个过程。
☘️1举例(Linear Regression Example)
在理解线性回归模型时,我们要举一个可以用线性回归模型解决的问题。
回看前几篇文章,讲到监督学习和无监督学习并举了其中的一些例子,我们此时采用我们在监督学习中学习理解回归问题时举的例子——根据房屋大小预测房价(House sizes and prices)。
我们使用的数据集是波特兰的当地数据,根据波特兰当地的房屋大小和对应价格树首先现在表格中绘制点。
现在,假如你是一名房地产经纪人,若有一位客户想要卖掉她的房子,根据她的房屋的大小,你能预测出相对应的合理的价格吗?
为了合理的估计,我们肯定需要采用以往的真实的数据,也就是现在画在图表中的每一个红色的小叉来进行合理的预估。
首先,最直观且最容易理解的,你一定首先想到了线性回归,即根据你的数据画出一条直线来尽可能更好地拟合这些数据。
如下图所示。
此时,若你的客户的房屋的大小是1250平方英尺,则可以根据我们的模型,而预估出房屋的价格。
如下图所示。
所以,我们来简单总结一下这个例子。这是一个典型的监督学习中的回归问题的预测问题,即输入一个x,需要根据模型输出一个相对应的y。(因为一个输入,就会有一个输出,所以属于监督学习;因为价格是连续的数字,所以是回归问题。)对于回归问题的预测,我们需要根据源数据集确定一个模型,使得我们随机给出一个合理的输入房屋的大小,就会有一个输出。而在上面这个例题中我们采用的是监督学习中的一类特殊简单的模型——线性回归模型。(当然还有一些其他的模型,我们在后面会讲到。)
☘️2监督学习的过程
- 🌾首先,我们需要读入数据(训练集)[Training Set]。
我们根据我们得到的每一组数据(包括房屋的大小和房屋的价格)读入,在这里,为了更快了解监督学习的过程,我们用图表在直观理解。
我们将每一组数据相对应的画入图表中。此时,每一个小叉就代表一组数据。
我们假设我们原来的数据表有47行,即原来有47组数据,依次画入表中。
如下图所示。
- 🌾了解训练集及相关符号表示
上面我们用来训练预测模型的原始数据,对应这个例子,就是波兰特的47组房屋大小-价格的数据,就被称为训练集。
🍃输入变量:在机器学习中,表示输入的数据称为输入变量,标准符号是小写的
x
x
x,也称为特征和输入特征。
即:
x
=
"
i
n
p
u
t
"
v
a
r
i
a
b
l
e
(
f
e
a
t
u
r
e
)
x="input"variable(feature)
x="input"variable(feature)
🍃输出变量:在机器学习中,表示我们试图预测的输出,称为输出变量,标准符号是小写的
y
y
y,有时也称为目标变量。
即:
y
=
"
o
u
t
p
u
t
"
v
a
r
i
a
b
l
e
(
"
t
a
r
g
e
t
"
v
a
r
i
a
b
l
e
)
y="output"variable("target"variable)
y="output"variable("target"variable)
🍃训练样本的总数:在本例子中,数据集有47行,每一行代表不同的训练示例,我们使用小写的 m m m来表示训练样本的总数。所以,在这个训练集中, m = 47 m=47 m=47。
🍃单个训练示例:为了表示单个训练示例,我们使用
(
x
,
y
)
(x,y)
(x,y)来表示。例如,对于第一个训练示例而言,它的表示为
(
x
,
y
)
=
(
2104
,
400
)
(x,y)=(2104,400)
(x,y)=(2104,400)。
对于整个训练而言,我们有47个训练示例,为了表示方便,我们进行编号,在x以及y上加入右坐标,例如,对于第i个示例,表示为
(
x
(
i
)
,
y
(
i
)
)
(x^{(i)},y^{(i)})
(x(i),y(i))。那么此时,我们可以将第一组数据更准确地表示为
(
x
(
1
)
,
y
(
1
)
)
=
(
2104
,
400
)
(x^{(1)} ,y^{(1)})=(2104,400)
(x(1),y(1))=(2104,400)。
- 🌾训练模型
训练模型时,我们需要将训练集(包括输入特征[features]和输出目标[targets])提供给学习算法。
然后,学习算法通过不断地训练数据,产生函数f。(至于学习算法是如何学习且不断达到最优模型时,这与后面的损失函数有关,以及采用不同的算法会达到不同的效果,例如常用的随机梯度下降法等。在这时,我们就可以先跳过学习算法调优这一步骤。此时的函数f即是调优后的模型最终表示。)
🍃 f的作用:就是采用新输入的x,产生一个新的预测并输出y,但此时的y只是预测值,我们写作
y
^
\hat y
y^。
此时,我们要特别强调
y
y
y与
y
^
\hat y
y^的区别。
y
y
y是训练集中的真实值,而
y
^
\hat y
y^只是一个估计值,它可能是可能不是真实价格,它只是我们当下预测的房子的价格,具体价格需要等到房子出售之后才能知道。
- 🌾确定模型(f)——How to represent f?
首先,在前面讲到,我们将采用线性回归模型来进行房屋价格的预测,在这个例子中,更准确地说是一个一元线性回归线性模型,因为我们的输入只有一个输入特征
x
x
x,所以称之为一元,也可以说是单变量。那么我们可以根据我们定的模型写出其具体表达式。
即如下图所示:
只是刚开始我们还不知道参
w
w
w 和
b
b
b的值。
确定参数
w
w
w和
b
b
b的最优值,需要学习算法从数据中大量学习,并生成最优效果。(参数值的确定更取决了我们算法的选择。)
今天的学习就到这里了!下一篇总结成本函数,成本函数是机器学习中最普遍和最重要的思想之一,明天继续加油💪!