初识机器学习:
1、Supervised learning
理解:学习输入到输出映射的算法,并依据该算法进行预测
选择模型->让机器学习含输入、输出相映射的训练集->预测测试集
分类:回归/分类问题
在回归问题中,我们试图在连续输出中预测结果,这意味着我们试图将输入变量映射到某个连续函数。在分类问题中,我们试图将输入变量映射到离散的类别中。
回归预测的输出有无限个,分类输出则为有限个
2、Unsupervised learning
仅给定一组数据,从数据集中寻找规律。即没有训练集(x到y的映射),只有x
举例:聚类算法,将数据集分为不同的簇
3、Reinforcement learning
单变量线性回归:
1、线性回归模型
概念:x,y,(x,y),(x(i),y(i)),y hat
Univariate linear regression 单变量线性回归
2、代价函数
评价模型拟合的好坏,并通过最小化代价函数来确定w,b的值。常用于回归问题
如:平方误差代价函数函数
m代表训练样本数
可视化代价函数:
下图为两参,三维的代价函数(重点理解!)
3、梯度下降
本想用代价函数来评价模型拟合的好坏,这是一个正向过程。但现在我们想用最小化代价函数来确定w,b的值,从而更新模型,这是一个反向过程。而通过梯度下降可以逐步确定w,b的值
过程(重点理解!):
设定学习率(决定下降的快慢)后,同时更新w,b,直到达到局部最低点
当导数为正/负时,参数趋向于小/大
4、线性回归的梯度函数
线性回归模型的代价函数是凸函数,只有一个全局最优解
推理过程(掌握!)
多元线性回归:
1、向量化
概念:xj,n,x(i)-->>第i个特征(有一列数据),特征数,第i个样本
向量化:
w=np.array([1,2,3.4])
b=4
x=np.array([10,2,2.1])
f=np.dot(w,x)+b
上面代码可以并行处理(重点理解!)
2、多元线性回归的梯度下降
参数更新:
正规方程是线性回归问题中区别于梯度下降的一种求解代价函数J(θ)最小值的方法,它不需要迭代更新参数,且只适用于线性回归问题
3、特征缩放
多特征问题中用来标准化数据特征的范围,保证这些特征的取值范围相近,可以使梯度下降更快
当一个特征的取值范围很大时,一个好的模型更有可能学会选择一个相对较小的参数值;同样,当特征值的取值范围很小时,它对应的参数会比较大。
特征缩放方法:
scaling(调节比例)
normalization(归一化)
- Z-score normalization/standarization常在SVM,逻辑回归和神经网络等算法中标准化数据,其公式如下
缩放后,特征就变为具有标准正态分布,其中μ均值,σ是平均值的标准差
具体理解如下
标准化、规范化的区别参看
4、判断梯度下降是否收敛
学习曲线图:参数的每更新一次,代价函数都会下降。若代价函数增加学习率选择不当或代码中存在错误(如何选择学习率)
自动收敛测试:规定一个数值,只要代价函数值低于该数,则视为收敛。但通常使用学习曲线图(思考为什么)
5、特征工程
根据原始特征来设计新的特征,使得特征更符合问题预测。特征工程通常包括数据预处理、特征选择、降维等环节。
具体参看https://zhuanlan.zhihu.com/p/36503570
Polynomial regression
可以拟合非线性函数,例如下图用x3 ,x1/2拟合(特征的取值范围产生相应变化)
逻辑回归:
1、二元分类
negative class (负类 0 false),positive class (正类 1 true)
对于是否是恶性肿瘤的二分类问题中,是恶性肿瘤则为正类,不是恶性肿瘤则为负类
线性回归模型不适用于分类问题--拟合的直线的决策边界极不稳定
2、逻辑回归模型
输入特征并输出一个介于 0 和 1 之间的数字,该数字指预测类别为 1 的概率
3、决策边界
设定逻辑回归模型的阈值,高于该值时预测 y-hat = 1,低于该值时预测 y-hat = 0
结合Sigmoid函数,w · x + b的正负决定了预测的结果。当w · x + b=0时,预测为1,0的概率相等,此时我们称w · x + b=0的线为决策边界
4、代价函数
平方误差代价函数不适用于逻辑回归模型,因为它的代价函数不是凸函数
逻辑回归代价函数(重点理解原理!):
单个训练样本的损失如下(Logistic loss function)
两项合并
5、梯度下降
6、过拟合
概念:过/欠拟合 高偏/方差
偏差用来衡量一个模型的拟合能力 方差描述的是 一个模型在不同训练集上的差异,表示模型的泛化能力
解决:
收集更多数据
减少特征
正则化
保留所有特征,减少某些不重要特征的参数,防止特征产生过大的影响。由于不知道哪个参数重要,所以通常正则化所有的特征。且大多数只对w 使用正则化,而不正则化 b
最小化新的代价函数,使预测和真实差值尽可能的小,用来拟合数据。也可以使wj尽可能的小,防止过拟合(重点理解!)
7、正则化
线性回归的正则化
在每次迭代中,将 wj 乘以一个略小于 1 的数,使其具有缩小 wj 的效果
理解式子为什么能够正则化wj,而无法正则化b
逻辑回归的正则化
同上
上述内容仅作框架整理