最小二乘法:基于均方误差最小化来求解模型的方法,称为“最小二乘法”(least square method)。(实际上就是试图找到一条直线,使得所有样本点距离直线的“欧式距离”(Euclidean distance)之和最小)
线性回归(linear regression):f ( x i ) = w x i + b f(x_i)=w x_i+b f ( x i ) = w x i + b
对数线性回归(log-linear regression):l n f ( x i ) = w T x ⃗ + b ln f(x_i)=w^T \vec{x}+b l n f ( x i ) = w T x + b
对数几率函数(logistic function):y = 1 1 + e − z y=\frac {1} {1+e^{-z}} y = 1 + e − z 1 该函数能够将z值转化为一个接近0或者是1的y值
线性判别分析(Linear Discriminant Analysis,LDA):在二分类问题上,LDA设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近(协方差尽可能小),异类样例的投影点尽可能远离(让类中心之间的距离尽可能大)。在多分类问题上,LDA将样本投影到d‘维空间,d’通常远小于数据原有的属性d,因此LDA也被视为一种经典的监督降维技术。
附LDA的matlab代码(标签在最后一列):
function [A,predict_label]=f_LDA(tr,te)
%Input: tr: Training set
% te: testing set
% Note that: each row represents a instance, last column is label, begins from 1
%Output: A: Testing Accuracy
% predict_label: predict label by DA for testingdata
data=[tr;te];
n=size(data,2);
m1=size(tr,1);m2=size(te,1);
trd=tr(:,1:n-1);trl=tr(:,n);
ted=te(:,1:n-1);tel=te(:,n);
obj = ClassificationDiscriminant.fit(trd, trl);
predict_label = predict(obj, ted);
bj=(predict_label==tel);a=nnz(bj);
A=a/m2; %输出识别率
end
请发表评论