【吴恩达】机器学习第7章学习收获 以及ex2部分编程题

1.二分类问题:

同样是沿着线性回归进行分析,进行阈值处理,从而变成了逻辑回归,(虽然名字类似,但不是一类问题,分类问题针对的是离散值)

1.1假设函数:h_{\theta }(x)=\theta ^{T}X对于分类问题来说,我们进行变换:(1)h_{\theta }(x)=g(\theta^{T}X),g(Z)定义为阈值函数(Sigmoid),

如(2)g(z)=1/1+e^{-z}。将(1)(2)结合起来就可以得到新的假设函数h_{\theta }(x)=1/1+e^{-\theta ^{T}X}

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。决策边界是假设函数的属性,与数据集的内容无关。我们只要确定了\theta,便可以确定决策边界。这里x为一个代号,指的是\theta^{T}X

1.4拟合\theta:要拟合\theta就要借助评价函数J。

其中,J是通过极大似然法求来的,在这一部分不做讨论。后面CS229的学习会解释。

然后同线性回归一样,进行\theta的更新。

对应的编程练习:

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.多分类问题:

同二分类一样,把每个分类当作二分类处理,得到相应的h_{\theta}(x),然后求max h即可。这个和h的意义有关,h是指当输入X时,y=1的概率,那么求h中的最大值,也就是得到了输入x时,概率最大的那个是什么。

猜你喜欢

转载自blog.csdn.net/BRAVE_NO1/article/details/82464529
今日推荐