Explore Machine Learning 101, Basic Concepts,二
Note:本文系LeetCode专题“Basic Concepts in ML,Basic Concepts in ML”的翻译,期间加有笔者个人的见解,如有错误,欢迎评论区留言讨论,共同进步。
二、什么是机器学习(What)
通过上节的学习我们了解到了机器学习的模型及其分类(监督学习、非监督学习和半监督学习),在接下来的学习中我们将继续深入了解非监督学习(Clustering 和 Association)、监督学习(Classification Model 和 Regression Model)的几个分类实例。
3、非监督学习(Clustering 和 Association)
3.1、Clustering:
如果给定一个数据集,那么我们可以根据数据集内样本的相似之处对其进行分类。如给定一个客户档案和属性的数据集,其中样本值对应有客户购买物品的数量、客户花在购物网站上的时间等等;我们可以根据样本的某些值对客户进行分类,从而针对特定的集群组设置相对应的商业宣传活动,这有利于吸引和留住客户。
3.2、Association:
如果给定一个数据集,那么关联任务的根本在于发现样本属性之间隐藏的关联性。例如给定的一个数据集是顾客的购物车,那么其中的每一个属性则是顾客的购买商品。通过对顾客购物车商品的分析,我们往往会发现购买啤酒的顾客通常也会购买尿布,因此可以断言,啤酒和购物车中的尿布具有很强的关联性。通过对类似关联性的分析,我们可以建议超市将关联性较强的商品重新摆放在相近的位置,以促进彼此的销售。
4、监督学习(Classification Model 和 Regression Model)
4.1、Classification Model
例如我们回到之前的例子:预测照片中是否有猫的模型也可以视为分类模型(其输出为布尔值 “是或否” )。
简单来说即输入一个
H
×
W
H×W
H×W的矩阵
H
H
H(其中
H
H
H表示的是照片的高度;
W
W
W表示的是照片的宽度,均以像素为单位)。矩阵中的每个元素对应像素的灰度值,即表示颜色强度且位于
[
0
,
255
]
[0,255]
[0,255]间的某一整数值。模型的期望输出值是一个二进制的值
[
1
∣
0
]
[1∣0]
[1∣0],以预测照片中是否有猫。故我们的猫识别模型
F
F
F可以表示为:
F
(
M
[
H
]
[
W
]
)
=
1
∣
0
,
w
h
e
r
e
M
[
i
]
[
j
]
∈
[
0
,
255
]
,
0
<
i
<
H
,
0
<
j
<
W
F(M[H][W])=1∣0,where M[i][j]∈[0,255],0<i<H,0<j<W
F(M[H][W])=1∣0,whereM[i][j]∈[0,255],0<i<H,0<j<W
机器学习的目标在于得到一个尽可能一般的函数,使之能够在很高的概率下为数据提供处理方案。
4.2、Regression Model
对于回归模型,我们有以下的例子:
我们来考虑这样一个实例:希望有一个模型来预测房地产的价格,给定的特征有房子的面积、类型(如公寓、别墅等等)、地理位置。在这种状况下,我们可以将输出看成一个回归模型,其真实值
p
∈
R
p∈R
p∈R。需要注意的是,在这个实例中(其实现实生活中很多问题也是这样),我们所拥有的数据类型并不全是数据类型,其中有一些如房地产类型是类别型的。
对于我们正在分析的每一间房,我们可以将其特征视为元组
T
T
T,其中元组中的每一个元素要么是数字值要么是表示属性之一的类别型的值。在某些情况下,这些元素也可称为特性。故综上所述,我们可以做出如下房地产价格估算模型:
F
(
T
)
=
p
,
w
h
e
r
e
p
∈
R
F(T)=p,where\ p∈R
F(T)=p,where p∈R
接下来我们进一步分析:
s
u
r
f
a
c
e
=
120
m
2
,
t
y
p
e
=
′
a
p
a
r
t
m
e
n
t
′
,
l
o
c
a
t
i
o
n
=
′
N
Y
d
o
w
n
t
o
w
n
′
,
y
e
a
r
_
o
f
_
c
o
n
s
t
r
u
c
t
i
o
n
=
2000
surface = 120 \space m^2, type = 'apartment', location = ' NY downtown', year\_of\_construction = 2000
surface=120 m2,type=′apartment′,location=′NYdowntown′,year_of_construction=2000
根据上述的房间属性值,若我们的模型
F
F
F所给出的预测房价值是10,000$,那么显然这个模型是不符合实际的。下图我们给出一个以房地产表面为唯一变量、以房价为输出的回归模型。
另外,尽管一些机器学习模型可以处理非数字特征值,但是更多的时候人们往往会倾向于将非数字值转变为数字值。
4.3、问题的转换(Problem Conversion)
对于真实世界中的实例问题,我们往往很容易将其归为分类问题(Classification Model)或者回归问题(Regression Model)。但有时分类问题和回归问题的界限并不是很明确,二者之间可以相互转换。
如上面的房地产价格预估问题中,我们似乎很难预测到精确的房价。但是如果我们将问题换成预测房价范围而不是精确的价格,于是我们便将这个问题转换成一个分类问题,而不是回归问题。
同样,我们也可以试着把之前那个猫图片识别问题转换成回归模型。如定义一个模型来输出一个概率值范围
[
0
,
100
%
]
[0,100\%]
[0,100%],而不是输出一个二进制值
[
1
∣
0
]
[1∣0]
[1∣0]以确定输出的是否有猫。通过这样我们可以比较模型之间的区别,从而进一步对模型微调优化。例如,对于某一张有猫的图片,模型
A
A
A给出有猫的概率是
1
%
1\%
1%,模型
B
B
B给出的概率是
49
%
49\%
49%。虽然两个模型都没有给出正确答案,但是可以看出模型
B
B
B更接近事实。在这样的应用场景中(逻辑回归的机器学习模型),我们输出的值是连续的概率值,可以解决分类问题。
总结
通过今天的学习我们深入了解了非监督学习(Clustering 和 Association)、监督学习(Classification Model 和 Regression Model)的几个分类实例,在接下来的学习中我们将进入第三部分——训练机器学习的流程。同时我们将介绍机器学习模型建立过程中会遇到的共性问题。