前言:所有数学值的大写形式无特殊说明均表示向量形式。
文章是对李航的《统计学习方法》、刘建平先生关于机器学习的博文等学习内容的自我总结和提炼
梯度下降法:
超参数:步长α和各方向梯度下降距离ξ
损失函数:J(θ) = 1 2 ∗ ( X θ − Y ) T ( X θ − Y ) \frac{1}{2}* (Xθ-Y)^T(Xθ-Y) 21∗(Xθ−Y)T(Xθ−Y)
下降距离=梯度*步长: ∂ J ( θ ) ∂ θ ∗ α \frac{\partial J(θ)}{\partial θ} * α ∂θ∂J(θ)∗α 其中a初始值一般为1
确定向量θ内的各个θi的下降距离,若均小于ξ则算法终止,当前向量θ为最终结果;若存在θi的下降距离大于ξ,令θ=θ- ∂ J ( θ ) ∂ θ ∗ α \frac{\partial J(θ)}{\partial θ} * α ∂θ∂J(θ)∗α=θ- X T ( X θ − Y ) ∗ α X^T(Xθ-Y)* α XT(Xθ−Y)∗α,然后再带入下降距离计算。
最小二乘法:
超参数:
损失函数:J(θ) = 1 2 ∗ ( X θ − Y ) T ( X θ − Y ) \frac{1}{2}* (Xθ-Y)^T(Xθ-Y) 21∗(Xθ−Y)T(Xθ−Y)
直接对损失函数求偏导: ∂ J ( θ ) ∂ θ = X T ( X θ − Y ) = 0 \frac{\partial J(θ)}{\partial θ} = X^T(Xθ-Y)=0 ∂θ∂J(θ)=XT(Xθ−Y)=0
直接求得 θ = ( X T X ) − 1 X T Y θ=(X^TX)^{-1}X^TY θ=(XTX)−1XTY
交叉验证:
简单交叉验证:反复随机划分数据为7成训练集和3成测试集进行验证。
S折交叉验证:把数据集分为S份,多次任选S-1份做训练集,剩下1份做测试集
留一交叉验证:同S折交叉验证,不过此时S=样本数N。常用与样本量较小,一般小于50的情况。
精准率与召回率:
正样本(T) | 负样本(F) | |
---|---|---|
预测为正(P) | TP | FP |
预测为负(N) | TN | FN |
精准率(Precision) P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP 理解:在所有预测为正的结果中,预测正确的比例
召回率(Recall) R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP 理解:在所有预测正确的结果中,预测为正的比例
特异性(specificity) S = T N F P + T N S=\frac{TN}{FP+TN} S=FP+TNTN 理解:在所有预测错误的结果中,预测为负的比例
特异度: T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP
灵敏度: F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP
RoC曲线:以TPR为Y轴,FPR为X轴,图像越靠近左上角说明算法越高效,模型越好
PR曲线:以P为Y轴,R为X轴,图像越靠近右上角说明算法越高效,模型越好
PS:不太理解为啥R越大越好,难道在预测正确的结果中,预测为负样本比例高有什么不妥么?
线性回归:
(1)问题描述:
有m个样本,每个样本有n维特征并对应一个输出结果即:
( x 1 ( 0 ) , x 2 ( 0 ) , . . . , x n ( 0 ) , y 0 ) , ( x 1 ( 1 ) , x 2 ( 1 ) , . . . , x n ( 1 ) , y 1 ) , . . . , ( x 1 ( m ) , x 2 ( m ) , . . . , x n ( m ) , y m ) (x^{(0)}_1,x^{(0)}_2,...,x^{(0)}_n,y_0),(x^{(1)}_1,x^{(1)}_2,...,x^{(1)}_n,y_1),...,(x^{(m)}_1,x^{(m)}_2,...,x^{(m)}_n,y_m) (x1(0),x2(0),...,xn(0),y0),(x1(1),x2(1),...,xn(1),y1),...,(x1(m),x2(m),...,xn(m),ym),其中y若连续为回归问题,离散为分类问题
(2)模型函数:
h θ ( x 0 , x 1 , . . . , x n ) = ∑ 0 n θ i x i h_θ(x_0,x_1,...,x_n)=\sum_0^nθ_ix_i hθ(x0,x1,...,xn)=∑0nθixi —> 矩阵表达 h θ ( x ) = X θ h_θ(x)=Xθ hθ(x)=Xθ,其中X为 m ∗ n m*n m∗n维度,θ为 n ∗ 1 n*1 n∗1维
(3)损失函数:
均方差作为损失函数: J ( θ 0 , θ 1 , . . . , θ n ) = ∑ 0 n ( h θ ( x 0 ( i ) , x 1 ( i ) , . . . , x n ( i ) ) − y i ) 2 J(θ_0,θ_1,...,θ_n)=\sum_0^n(h_θ(x_0^{(i)},x_1^{(i)},...,x_n^{(i)})-y_i)^2 J(θ0,θ1,...,θn)=∑0n(hθ(x0(i),x1(i),...,xn(i))−yi)2 —> 矩阵表达 h θ ( x ) = 1 2 ( X θ − Y ) T ( X θ − Y ) h_θ(x)=\frac{1}{2}(Xθ-Y)^T(Xθ-Y) hθ(x)=21(Xθ−Y)T(Xθ−Y)
求损失函数最小化时的 θ θ θ,可以用梯度下降法和最小二乘法,前者结果为 θ = θ − α X T ( X θ − Y ) θ=θ-αX^T(Xθ-Y) θ=θ−αXT(Xθ−Y);后者为 θ = ( X T X ) − 1 X T Y θ=(X^TX)^{-1}X^TY θ=(XTX)−1XTY
(4)多项式线性回归
若 h ( x 1 , x 2 ) = θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 1 2 + θ 4 x 2 2 + θ 5 x 1 x 2 h(x_1,x_2)=θ_0+θ_1x_1+θ_2x_2+θ_3x_1^2+θ_4x_2^2+θ_5x_1x_2 h(x