机器学习(Machine Learning)
机器学习定义:为了解决任务T,设计一段程序,从经验E中学习,达到性能度量值P,当且仅当有了经验E后,经过P评判,程序在处理T时的性能得到提升
机器学习分类:
有监督学习(带答案数据)-{回归,分类
无监督学习(无答案数据)-{聚类,降维
强化学习-{有模型学习,免模型学习
监督学习:训练样本包含对应的标签,比如Titanic数据集中生存与否就是标签
分类问题:样本标签属于离散变量,比如判断垃圾邮件,肿瘤检测
回归问题:样本标签属于连续变量,比如预测放假,预测销售额
分类问题:
1生成模型(概率模型)
2判别模型(非概率模型)
生成方法用数据学习联合概率分布
联合概率分布:假设有随机变量X,Y.此时P(X=a and Y = b) 用于表示X=a且Y = b的概率
边缘概率分布:P(X=a) 或P(Y=b)这类仅与单个随机变量有关的概率称为边缘概率
条件概率----事件A在事件B发生的条件下发生的概率.条件概率表示为P(A|B),读作A给定B
P(A|B) = P(A
∩
\cap
∩B)/P(B)
P(B|A) = P(A
∩
\cap
∩B)/P(A)
P(A
∩
\cap
∩B) = P(A|B)*P(B)=P(B|A)*P(A)
: P(A|B) = (P(B|A)*P(A))/P(B) 贝叶斯公式
后验 似然 先验 证据
无监督学习:样本中不包含任何标签
无监督学习分类:聚类:用户分群,朋友分组(社交软件),细分市场,异常流量监测
降维:维度越多,越能帮助我们判断,但是线索太多可能干扰判断,造成判断速度和准确度降低
机器学习方法三要素
- 模型 :就是要学习的概率分布或决策函数,所有可能的条件概率分布或者决策函数构成的集合就是模型的假设空间
- 策略 :从假设空间中学习最优模型的方法,成为策略
衡量模型好不好需要一些指标,这时候引入损失函数和风险函数来衡量预测值和真实值通常是不相等的,用损失函数或代价函数来度量预测错误的程度,记作:L(Y,f(x)) - 算法 :算法是指学习模型时的具体计算方法,求解最优模型归结为一个最优化问题,统计学习的算法,等价于求解最优化问题的算法,也就是求解析或者数值解
机器学习算法原理
J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 ∞ ( h θ ( x ( i ) ) − y ( i ) ) 2 ( 损 失 函 数 ) J_(\theta_0,\theta_1) = \frac{1}{2m} \sum_{i=1}^\infty(h_\theta (x^{(i)})-y^{(i)})^2{(损失函数)} J(θ0,θ1)=2m1i=1∑∞(hθ(x(i))−y(i))2(损失函数)
梯度下降算法: 是一个用来求函数最小值的算法
在单变量的函数中.梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率:
θ : = θ 1 − α ∂ J ( θ ) ∂ θ 1 ( 梯 度 下 降 公 式 ) \theta:=\theta_1-\alpha \frac{\partial J (\theta)}{\partial\theta_1}{(梯度下降公式)} θ:=θ1−α∂θ1∂J(θ)(梯度下降公式)
h 0 ( x ) = θ + θ 1 x ( 假 设 函 数 ) h_0(x) = \theta+\theta_1x {(假设函数)} h0(x)=θ+θ1x(假设函数)
对 θ \theta θ赋值,使得J( θ \theta θ)按梯度下降的方向进行,一直迭代下去,最终得到局部最小值
重复直至收敛:
θ j = θ j − α ∂ J ( θ 0 , θ 1 ) ∂ θ j f o r j i n [ 0 , 1 ] \theta_j = \theta_j - \alpha \frac{\partial J(\theta_0,\theta_1)}{\partial\theta_j} for \ j \ in \ [0,1] θj=θj−α∂θj∂J(θ0,θ1)for j in [0,1]
运用梯度下降发,关键在于求出代价函数的导数,即:
∂ ∂ θ j J ( θ 0 , θ 1 ) = ∂ ∂ θ j 1 2 m ∑ i = 1 ∞ ( h θ ( x ( i ) ) − y ( i ) ) 2 \frac{\partial}{\partial \theta_j}J(\theta_0,\theta1) = \frac{\partial}{\partial \theta_j}\frac{1}{2m}\sum_{i=1}^\infty(h_\theta (x^{(i)})-y^{(i)})^2 ∂θj∂J(θ0,θ1)=∂θj∂2m1i=1∑∞(hθ(x(i))−y(i))2
j = 0 ∂ ∂ θ 0 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 ∞ ( h θ ( x ( i ) ) − y ( i ) ) j=0 \ \frac{\partial}{\partial \theta_0}J(\theta_0,\theta_1) = \frac{1}{m} \sum_{i=1}^\infty(h_\theta(x^{(i)})-y^{(i)}) j=0 ∂θ0∂J(θ0,θ1)=m1i=1∑∞(hθ(x(i))−y(i))
指的是在梯度下降的每一步中,我们都用到了所有的训练样本,在梯度下降中,在计算微分时,我们需要进行求和和运算
随机梯度下降法:
θ
i
:
=
θ
i
−
a
(
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
∗
x
(
i
)
)
\theta_i: =\theta_i - a((h_\theta(x^{(i)})-y^{(i)})*x^{(i)})
θi:=θi−a((hθ(x(i))−y(i))∗x(i))
随机下降法与批量下降法是两个极端,批量梯度下降每次采用所有数据来梯度下降,随机梯度下降每次用一个样本来梯度下降
小批量梯度下降(MBGD):(也还行)
θ
1
:
=
θ
1
−
a
1
t
∑
i
=
1
t
(
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
∗
x
(
i
)
)
\theta_1:=\theta_1-a \frac{1}{t}\sum_{i=1}^t ((h_\theta(x^{(i)})-y^{(i)})*x^{(i)})
θ1:=θ1−at1i=1∑t((hθ(x(i))−y(i))∗x(i))
MBGD称为小批量梯度下降,每次迭代使用一个以上又不是全部的样本
MBGD优点:使用多个样本相比SGD提高了梯度估计的精度
海森矩阵与泰勒展开式
一元:
f
(
x
)
=
f
(
a
)
+
f
1
(
a
)
1
!
(
x
−
a
)
+
f
2
(
a
)
2
!
(
x
−
a
)
2
+
.
.
.
+
f
n
(
a
)
n
!
(
x
−
a
)
n
+
R
n
(
x
)
f(x) = f(a) + \frac{f^1(a)}{1!}(x-a)+\frac {f^2(a)}{2!}(x-a)^2+...+\frac {f^n(a)}{n!}(x-a)^n+R_n(x)
f(x)=f(a)+1!f1(a)(x−a)+2!f2(a)(x−a)2+...+n!fn(a)(x−a)n+Rn(x)
其中的多项式成为函数在a处的泰勒展开式,剩余的
R
n
(
x
)
R_n(x)
Rn(x)是泰勒公式的余项