机器学习十讲(二)

数学知识回顾:

矩阵的逆

  • 对于n*n方阵A,如果存在矩阵B使得AB = BA = I,则称BA的逆矩阵,记为A-1

  • 若A为可逆矩阵,则其逆矩阵是唯一的

  • 如何判断矩阵是否可逆?

    • 行列式不等于0
    • 满秩
    • 行(或列)向量组线性无关
    • ...
import numpy as np

# 格式化numpy输出
np.set_printoptions(formatter={'float': '{:0.2f}'.format})
A = np.array([[4, 5, 1], [0, 8, 3], [9, 4, 7]])
# 求行列式
print("行列式" + str(np.linalg.det(A)))
B = np.linalg.inv(A)  # 求逆
print("A的逆矩阵为B:")
print(B)
print("BA:")  # 结果验证
print(B.dot(A))
print("AB:")
print(A.dot(B))

  

回归:

  • 回归如今指的用一个或多个自变量来预测因变量的数学方法
  • 在机器学习中,回归指的是一类预测变量为连续值的有监督学习方法

在回归模型中,需要预测的变量叫做因变量,用来解释因变量变化的变量叫做自变量

一元线性回归:

  • 模型为y = w1x + w0,其中w0,w1为回归系数
  • 给定训练集D = {(x1,y1),...(xn,yn)},我们的目标是找到一条直线y = w1x + w0使得所有样本尽可能落在它的附近。

多元线性回归:

  • y = w1x1 + w22+...+ wdxd +w0

  • 训练集D = {(x1,y1),...(xn,yn)}

  • ...

  • 假设训练集的特征部分记为n*(d+1)矩阵X,其中最后一列取值全为1

  • 标签部分记为...

  • 最小二乘的参数估计,如果变量之间存在较强的共线性,则XTX近似奇异,对参数的估计变得不准确,造成过度拟合现象。

  • 解决方法:正则化,主成分回归、偏最小二乘回归

image-20210201235744504

  • 正则化可以减小线性回归的过度拟合和多重共线性等问题

岭回归:

  • 岭回归:线性回归目标函数加上对W的惩罚函数λ||w||22λ||w||22
  • 线性回归目标函数:(Xwy)T(Xwy)(Xw−y)T(Xw−y)
  • 岭回归目标函数:(Xwy)T(Xwy)+λ||w||22(Xw−y)T(Xw−y)+λ||w||22
  • 对w求导并令导数等于零易得:xˆridge=(XTX+λI)1XTyx^ridge=(XTX+λI)−1XTy
  • 根据岭迹做超参数λλ的选择(岭迹分析)

LASSO:

  • LASSO是一种系数压缩估计法,它的基本思想是通过追求稀疏性自动选择重要的变量
  • LASSO的目标函数:(Xwy)T(Xwy)+λ||w||1(Xw−y)T(Xw−y)+λ||w||1
  • LASSO的解xˆLASSOx^LASSO没有解析表达式,常用的求解算法包括坐标下降法、LARS算法和LSTA算法等

回归模型的评价指标

  • 均方误差:MSE(y,yˆ)=1nni=1(yiyˆi)2MSE(y,y^)=1n∑i=1n(yi−y^i)2
  • 均方根误差:RMSE(y,yˆ)=1nni=1(yiyˆi)2−−−−−−−−−−−−−−√RMSE(y,y^)=1n∑i=1n(yi−y^i)2
  • 平均绝对误差:MAE(y,yˆ)=1nni=1|yiyˆi|MAE(y,y^)=1n∑i=1n|yi−y^i|
  • 决定系数:R2(y,yˆ)=1SSresSStot=1ni=1(yiyˆi)2ni=1(yiy¯i)2
posted @ 2021-01-27 08:00  小赵不吃溜溜梅  阅读(85)  评论(0编辑  收藏  举报