线性回归:
原理:y[i] = , 根据中心极限定理(由很多因素影响的变量,倾向于服从高斯分布),服从高斯分布,p( | ,x)式子写出来,再把式子里面的替换成(y[i]-x[i]), p( | ,x)和p(y[i] | ,x)是等价的,所以p(y[i] | ,x)也服从自变量是(y[i]-x[i])的高斯分布;目标是使得似然函数最大,即所有样本i的p(y[i] | ,x)连乘最大,高斯分布们连乘,取对数,得到最小化(y[i]-x[i])^2们相加;
解析解的求解:把所有样本写成矩阵X(每行一个样本), 目标是最小化和自己的内积,等价于; 对求导使其等于0,经过推导可得的最优取值;
梯度下降求解:(y[i]-)^2对求导,得到梯度;沿梯度的负方向前进,可使(y[i]-)^2尽快往局部最小值走去;
加2次项正则的,叫Ridge回归;加1次项正则的,叫LASSO回归;2次项正则效果更好,1次项正则有稀疏化参数的作用;
线性回归优点:可解释(参数表示每个维度的重要性);缺点:对异常值敏感;对非线性数据拟合不好(可以引入2阶或者高阶特征)
Logistic回归:
定义函数p(x)=sigmoid(x),p'(x)=p(x)*(1-p(x))
二分类任务,分为正例的概率p(x | ) = sigmoid(x)
训练的目标是最大化似然函数(所有训练样本的(p(x[i] | )^y[i])*((1-p(x[i] | )^(1-y[i])) 的乘积), 取对数,前面加负号,就变成了最小化对数似然之和,也就是交叉熵损失函数的样子;
损失函数求导技巧(应用复合函数求导的链式法则,写成连乘形式,每次解决一小步):设p=sigmoid(z), z=x;先把损失函数对p求导,乘上p对z求导(等于p(1-p)),乘上z对求导(等于x);结果检查:线性回归,Logistic回归,softmax回归,这三者的梯度都长得一模一样!
xgboost做二分类任务时,用的就是拟合z!
原理:极大似然-->负对数损失函数;一共K个分界面(K个);训练时,每个batch要对这K个分界面求梯度,用梯度下降分别更新这K个分界面。
求导技巧:可以先对一个样本求导,省得每次都要写样本ID的i; 可以先对整体作为变量z[k],损失函数L对z[k]求导;中间有一步求对z[k]的导数,要分成2种情况:i=k时和i<>k时;