机器学习是什么?

定义一:机器学习是无需显式编程就能使得计算机自主学习的学科。
定义二:如果计算机随着经验E的积累,在任务T上用标准P衡量的表现越来越好,那么可以说计算机正在学习

应用实例

  1. 数据挖掘
  2. 不能够用手写代码实现的应用,比如无人驾驶。

分类

主要分类:

  1. 监督学习
  2. 无监督学习

其他:
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,θ12m1i=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)=2m1i=1m(hθ(x(i))y(i))
此代价函数又被称为平方误差函数,在线性回归问题中常常用。
这里的 1 2 m \frac{1}{2m} 2m1是为了数学上求导比较简单。
我们需要算法来自动查找使得代价函数最小的参数。

梯度下降

梯度下降方法用于最小化代价函数。

思想
  1. 初始化 ( θ 0 , θ 1 ) (\theta_0,\theta_1) (θ0,θ1)
  2. 一点点调节 θ \theta θ的值,知道找到 J J J(损失函数)的最小值。

这里调节的方式,有点类似于贪心算法,在这一点上选择下降最快的方向
但是有一个非常大的问题,就是从不同的点出发很容易得到不同的解,被局部最优解给困住。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐