目录
1.中心极限定理的概念
中心极限是指多次抽样分布的均值会呈现正态分布,且抽样分布的均值等于总体均值
2.正态分布
是一种连续型的概率分布,随机变量服从概率密度函数,均值为u,方差为
3.极大似然估计
极大似然估计就是根据已经发生的事件来估计事件发生的概率,求出合适的参数来使得事件发生的概率最大
4.推导回归Loss function
损失函数是用来衡量一组参数的好坏,我们假设回归函数的公式为,为损失函数,则,为真实数值,y为预测值。我们的目的就是使预测值和实际值越接近越好,所以损失函数L(f)最小化。
5.损失函数与凸函数之间的关系
如果损失函数是凸函数,那么一定有全局最优解,且不论初始值如何选取
6.全局最优和局部最优
当损失函数存在局部最小值时,若初始点选择不当则可能会造成局部最优解,但是现实中很少出现局部极小值的情况
7.推导梯度下降公式
首先随机选取的初始值,然后对损失函数L(w,b)分别对w,b求偏导,,,然后更新w和b的值,,,重复,直到损失函数取到最小值时取此时的w和b的值为此线性回归的参数
8.梯度下降的代码实现
import numpy as np
def LinearRegressionGD(object):
def __init__(self,eta = 0.001,n_iter = 50):
self.eta = eta
self.n_iter = n_iter
def fit(self,X,y):
self.w_ = np.random.random(X.shape[1]+1) #
self.cost_ = []
for i in range(self.n_iter):
output = net_input(X)
errors = y - output
self.w[1:] += self.eta*X.T.dot(errors)
self.w[0] += self.eta.errors.sum()
cost = 0.5*(errors**2).sum()
self.cost_.append(cost)
return self
def net_input(self,X):
return np.dot(X,self.w_[1:]) + self.w_[0]
9.正则化公式的推导
正则化就是在计算损失函数时对参数的值进行限定,损失函数被重新定义为,正则项的限制使曲线变得平滑
10.L0-Norm,L1-Norm,L2-Norm
L0范数:L0范数不是真正的范数,它是用来度量向量中非零元素的个数,如果使用L0范数来约束参数矩阵w的数值,就是希望参数w的大部分元素都是0,让参数矩阵稀疏化,一般不用L0作正则化,用L1正则代替。
L1范数:指向量中各元素绝对值之和
L2范数:指各元素的平方和再开平方,可以使参数矩阵w的每个元素值都接近0,使曲线更加平滑
11.为什么用L1-Norm代替L0-Norm
L0范数很难优化求解,是一个NP-hard问题,L1范数是L0的最优凸近似,L1范数相对容易求解且可以实现矩阵稀疏的效果
12.学习为什么只对w/Θ做限制,不对b做限制
loss function中加入正则项对w进行限制是为了使曲线变得平滑,而调整b的大小跟曲线的平滑无关,b的大小只是对曲线进行上下移动。
13.误差从哪里来
误差来源于两个方向,variance和bias
使用简单的model进行多次实验,会得到比较小的variance,数据对模型的影响会更小
简单的模型平均下来也会有较大的bias,而复杂的模型平均下来的bias会相对较小,因为复杂的模型包含的范围更广
最好是能找到一个平衡点使得variance和bias之和相对较小,bias会随着模型的复杂度提升逐渐降低,variance会随着模型复杂度的提升逐渐升高,但是到达一定程度后variance的error会激增,这就是为什么通常过拟合会带来较大的误差。
模型欠拟合的处理方式:使用更复杂的模型
模型过拟合的处理方式:使用更多的数据,添加正则项