1.监督学习 无监督学习 强化学习
监督学习:从标记的训练数据来推断一个功能的机器学习任务. 训练数据有标签
用途: a.回归:预测数字 b.分类:所有可能输出都是一小组
无监督学习: 让机器自学,根据聚类或者一定的模型得到数据之间的关系 训练数据无标签
用途: 聚类算法 异常检测 降维
强化学习:智能体以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏。
2.线性回归(对数据有强解释性) 代价函数和梯度下降
代价函数: 要尽可能让J(w,b)小
梯度下降:
MSE(均方误差) MAE(平均绝对误差)
3. 向量化 向量和矩阵乘法
向量点乘: np.dot(w,b)
矩阵乘法的要求: 前一个矩阵的列数等于后一个矩阵的行数
np.matmul() 矩阵乘法函数 np.prod(x) 列表x中所有元素的乘积 np.mean() 求平均值
np.median() 求中位数 np.var()方差 np.std()标准差
np.random.normal(a,b,c) 均值为a 标准差为b size=c
4. 特征缩放 归一化 特征工程
特征缩放: 将原本由于单位不同而导致数值范围上存在较大差异的特征放到同一个数值区间内
归一化:使预处理的数据被限定在一定的范围内(比如[0,1]或者[-1,1]),从而消除奇异样本数据导致的不良影响。数据归一化常用的方法: 最值归一化和 均值方差归一化
最值归一化:
只适用于有明显边界的情况 Xmax,Xmin为边界的最大值和最小值 Xscale为归一化之后的值
均值方差归一化:
其中 Xmean: 平均值 s:标准差 即 把所有的数据归到均值为0 方差为1的正态分布中
特征工程: 将原始数据转化成更好的表达问题本质的特征的过程,使得将这些特征运用到预测模型中能提高对不可见数据的模型预测精度。 将一个物体表示成向量
5.k近邻算法-kNN
kNN: 对于一个新的输入,选择其邻近的k个样例,k个样例中多数属于某个类,则把新的输入分类到这个类中.
缺点:1.效率低下 2.高度数据相关 3. 预测结果不具有可解释性 4.维数灾难
网格搜索法 (Grid Search) :在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数.
其中 将数据集分为 训练数据集和 测试数据集
*6.PCA 主成分分析 Principal Component Analysis 将高维数据转化为低维
主要用于 降维 可视化 降噪
7.多项式回归与模型泛化
模型评估: 首先把数据集分类 : 训练集、交叉验证集和测试集 对于模型的评估情况分为 :过拟合和欠拟合
模型评估的参数: bias/variance(偏差和方差) : High bias (underfit) High variance (overfit)
过拟合:模型在训练集上效果好;在测试集上效果差。模型泛化能力弱
欠拟合: 模型在训练集和测试集效果都不好
解决过拟合手段: a.降低模型复杂度 b.减少数据维度;降维 c.增加样本数 d.使用验证集 d.模型正则化
解决欠拟合手段: a.增加特征数 b.增加模型复杂度 c.减少正则化系数.
剪枝:降低复杂度,解决过拟合
随多项式次数增加 和 图像
学习曲线 :可以用来判断某一个学习算法是否处于偏差、方差问题。学习曲线就是将训练集误差和交叉验证集误差作为训练集样本数量 m的函数绘制的图表
注:在高偏差/欠拟合的情况下,增加数据到训练集不一定能有帮助。
岭回归和Lasso回归:
LASSO趋向于使得一部分theta值变 为0。所以可作为特征选择用。
L1正则,L2正则: L1是绝地址 L2是平方