1.二分类问题:
同样是沿着线性回归进行分析,进行阈值处理,从而变成了逻辑回归,(虽然名字类似,但不是一类问题,分类问题针对的是离散值)
1.1假设函数:对于分类问题来说,我们进行变换:(1),g(Z)定义为阈值函数(Sigmoid),
如(2)。将(1)(2)结合起来就可以得到新的假设函数
1.2关于假设函数的解释:这里的意思是当输入X时,y=1的概率。这里假设函数的范围:0<=h<=1。
1.3决策边界。我们可以发现,当x=0时,h=0.5为此函数的分界,当x<0时,h<0.5,当x>0时,h>0.5。决策边界是假设函数的属性,与数据集的内容无关。我们只要确定了,便可以确定决策边界。这里x为一个代号,指的是。
1.4拟合:要拟合就要借助评价函数J。
其中,J是通过极大似然法求来的,在这一部分不做讨论。后面CS229的学习会解释。
然后同线性回归一样,进行的更新。
对应的编程练习:
sigmoid:
g=1./(1+exp(-z));
costFunction:
Z=X*theta;
h=sigmoid(Z);
J=sum(y'*log(h)+(ones(length(y),1)-y)'*log(ones(length(h),1)-h))./-m;
grad=X'*(h-y)./m;
2.多分类问题:
同二分类一样,把每个分类当作二分类处理,得到相应的,然后求max h即可。这个和h的意义有关,h是指当输入X时,y=1的概率,那么求h中的最大值,也就是得到了输入x时,概率最大的那个是什么。