机器学习是什么?
定义一:机器学习是无需显式编程就能使得计算机自主学习的学科。
定义二:如果计算机随着经验E的积累,在任务T上用标准P衡量的表现越来越好,那么可以说计算机正在学习。
应用实例
- 数据挖掘
- 不能够用手写代码实现的应用,比如无人驾驶。
分类
主要分类:
- 监督学习
- 无监督学习
其他:
3. 强化学习
4. 推荐系统
监督学习
意即给出一个算法,需要部分数据集已经有正确答案,换句话说数据集中的数据需要有对应的结果(训练集)。
回归
回归问题,对于连续值进行预测。比如房价预测问题。
分类
分类问题,预测离散值输出,可以有两种以上的类。比如根据肿瘤大小预测是否为良性肿瘤。
无监督学习
无监督学习中所有样本都是一样的,没有标签和分类,我们提前并不知道数据可以分成哪些类型。
聚类
例子:
谷歌新闻,将相同类型的新闻分成同一组。
回归
根据以前的数据预测出准确的输出值。
符号表示
m | 样本数目 |
---|---|
x | 输入值,即feature |
y | 输出值,即目标变量 |
( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)) | 第i个样本数据 |
工作原理
特征值经过hypothesis函数的映射得到目标变量,因此我们的目标就是找到一个hypothesis函数。
单变量线性回归
定义h函数: h θ ( x ) = θ 0 + θ 1 x h_{\theta}(x)=\theta_0+\theta_1x hθ(x)=θ0+θ1x
模型参数
θ 0 \theta_0 θ0, θ 1 \theta_1 θ1
代价函数
我们的目标是选择最优的模型参数使得预测结果最接近真实的y值。
数学化上述目标,可以得到以下目标函数:
m
i
n
θ
0
,
θ
1
1
2
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
min_{\theta_0,\theta_1} \frac{1}{2m}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})
minθ0,θ12m1∑i=1m(hθ(x(i))−y(i))
所以得到代价函数:
J
(
θ
0
,
θ
1
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})
J(θ0,θ1)=2m1∑i=1m(hθ(x(i))−y(i))
此代价函数又被称为平方误差函数,在线性回归问题中常常用。
这里的
1
2
m
\frac{1}{2m}
2m1是为了数学上求导比较简单。
我们需要算法来自动查找使得代价函数最小的参数。
梯度下降
梯度下降方法用于最小化代价函数。
思想
- 初始化 ( θ 0 , θ 1 ) (\theta_0,\theta_1) (θ0,θ1)
- 一点点调节 θ \theta θ的值,知道找到 J J J(损失函数)的最小值。
这里调节的方式,有点类似于贪心算法,在这一点上选择下降最快的方向。
但是有一个非常大的问题,就是从不同的点出发很容易得到不同的解,被局部最优解给困住。