机器学习笔记week3(Andrew NG)

机器学习笔记week3(Andrew NG)

martin


逻辑回归

逻辑回归模型

逻辑回归表达式:

hθ(x)=g(θTx)

z=θTx

g(z)=11+ez

综上,
hθ(x)=11+eθTx


sigmoid函数:

2.png-16.5kB


选择题1:

1.png-47.3kB


3.png-255kB

接下来我们深入的来理解下这个sigmoid函数。通过图可以知道:

  • 如果想要判断预测分类 y=1 ,则必须保证 hθ(x)>=0.5 ,这里如果用 g(z) 来代替 hθ(x) 的话也即 g(z)>=0.5 ,则对应的 x 轴则是z>=0,所以转换过来也即是 θTx>=0
  • 如果想要判断预测分类 y=0 ,则必须保证 hθ(x)<0.5 ,这里如果用 g(z) 来代替 hθ(x) 的话也即 g(z)<0.5 ,则对应的 x 轴则是z<0,所以转换过来也即是 θTx<0

决策边界

5.png-293.3kB

  • 对于线性回归:假设 θ 矩阵中的 θ0,θ1,θ2 已经确定,也就是 θTx 确定了,那么就会确定一条直线,比如图中的 x1+x2=3 这条直线,我们可以利用这条直线来确定一个边界,边界的一侧是y=1类,另一侧则是y=0类。

6.png-188.7kB

  • 对于非线性回归:假设 θ 矩阵已经确定,也就是 θTx 确定了,那么就会确定一条曲线,比如图中的 x23+x24=1 这条曲线,我们可以利用这条曲线来确定一个边界,边界的外侧是y=1类,内侧则是y=0类。

代价函数:

8.png-227.9kB

我们由线性代价函数来引入,可以看到,如果将各个单个值的序号去掉那么线性的代价函数无非就是 12(hθ(x)y)2 这个表达式,然而此时我们将线性代数的假设函数 hθ(x) 替换成了sigmoid函数,如果继续按着之前的表达式求它的代价cost的话那么它的函数曲线将会是一个“非凸”函数(non-convex),而非一个碗型的“凸”函数(convex)。所以,对于逻辑回归我们将会采用新的代价函数。如下图:

9.png-42.2kB

  • 对于 y=1 来说:

此时的cost计算公式为:

Cost(hθ(x))=log(hθ(x))

10.png-108.8kB

因为 hθ(x) 是sigmoid函数,所以它的值域为(0,1),故我们只讨论横坐标 hθ(x) 在(0,1)范围内的costJ代价的变化。

11.png-100.8kB

如果 y=1,hθ(x)=1 ,那么就可以说我的预测值与实际值是无偏差的,可以说是 cost=0 ,但是假如 y=1,hθ(x)=0 ,那么意味着我的预测值与实际值是有很大偏差的,那么就要惩罚学习算法让它的代价变大,于是对应上图就可明白,当横坐标 hθ(x)=1 时,曲线确实cost=0,而当 hθ(x)=0 时,cost趋于了无穷大。

  • 对于 y=0 来说:

此时的cost计算公式为:

Cost(hθ(x))=log(1hθ(x))

12.png-116kB

同样 hθ(x) 的值域为(0,1),所以我们只讨论横坐标在(0,1)的范围内的cost的变化。如果 y=0 , hθ(x)=0 ,那么就可以说我的预测值与实际值是无偏差的,可以说是 cost=0 ,但是假如 y=0 , hθ(x)=1 ,那么意味着我的预测值与实际值是有很大偏差的,那么就要惩罚学习算法让它的代价变大,于是对应上图就可明白,当横坐标 hθ(x)=0 时,曲线确实cost=0,而当 hθ(x)=1 时,cost趋于了无穷大。

有时,我们也把上面的函数写成一个表达式:

Cost(hθ(x))=ylog(hθ(x))(1y)log(1hθ(x))

如果x和y变成多维,则代价函数变为:

J(θ)=1m[i=1my(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]

:上面是Andrew NG直接给出的cost function,并没有给出推导,这里我把具体的cost function由来给写一下供大家参考:

对于Logistic regression, hθ(x) 函数代表的是等于1的概率,所以有如下的条件概率分布:

P(Y=1|x)=11+eθTx=hθ(x)

P(Y=0|x)=111+eθTx=1hθ(x)

那么将两个式子合并起来写在一起就是:

P(Y|x)=hθ(x)y(1hθ(x))1y

对上面这个式子求似然函数:
L(θ)=i=1mP(Yi|xi)=i=1mhθ(xi)yi(1hθ(xi))1yi

在对上面的似然函数求对数为:
l(θ)=logL(θ)=i=1m[yiloghθ(xi)+(1yi)log(1hθ(xi))]

如果想求最优解则对上式求极大值时下的 θ ,则此时运用的是梯度上升法,但是在Andrew NG的课程中使用的是梯度下降算法,故有:
J(θ)=1ml(θ)=1m[i=1my(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]
即为所求。


选择题2:

7.png-68.5kB


选择题3:

13.png-64.1kB


梯度下降

14.png-193.2kB


选择题4:

15.png-67.8kB


选择题5:

16.png-65.2kB

解析

  • 也可写成如下17.png-4.1kB

优化梯度下降算法

1.png-396.9kB

在Octave中,用此方法来替代梯度下降算法,因为此优化算法不用人为指定conjugate:

  • 不需进行学习速率 α ,所以可以将此算法看成是加强版的选择。
  • 通常比梯度下降算法快。

选择题6:

2.png-101.7kB

多分类

4.png-250.8kB

多分类的一种方法是采用“one-vs-all”的方法将多种类别区分:具体思想是针对每一个类别可以训练分类器以区分是否为该类,这样如果有 k 个类别,那么就会训练出k个模型。

5.png-146kB

然后如果想要预测 test 到底为哪一类别时,将 test 分别输入到这 k 个模型中,哪一类的输出概率最大就分类为哪一类。


选择题7:

6.png-26.2kB


小节测试题1:

1.png-33.4kB


小节测试题2:

2-1.png-29.8kB
2-2.png-56.2kB


小节测试题3:

3.png-57.8kB


小节测试题4:

4.png-53.9kB


小节测试题5:

5.png-40.7kB

解析

  • 线性回归是用来拟合数据对数据进行预测属于回归,但是逻辑回归是用来分类的属于分类。而区分类别是根据hθ(x)与0.5的关系,也就是 θTx 与0的关系,所以题中的 θTx 即为 x+6 ,所以当 x6>0 时为 y=1 类,反之为 y=0 类。

    • 但是算法复杂。
    • 多分类

      解决过拟合问题

      过拟合

      产生过拟合问题的原因:数据集的特征非常多并且数据集很小。


      选择题1:1.png-34.7kB


      如何解决过拟合:
      1、减少特征的数量

      • 手动的选择要保留的特征。
      • 模型选择算法(会自动的选择要保留的特征,之后会讲到)

      2、正则化

      • 保留所有的特征,并减小 θj 的值或数量级

      带正则化项的cost function

      3.png-188.4kB

      如图所示,将之前的cost function加上一个正则化项:

      J(θ)=12[i=1m(hθ(x(i))y(i))2+λj=1nθ2j]

      注意到,后面的正则项是从 j=1 开始的,不包括 θ0 。参数 λ 叫做正则化项参数,用来减小 θj 的值,当 λ 很大时, θj 都会变得很小。所以就相当于只剩下 θ0 了。

      4.png-195.8kB


      选择题2:
      2.png-27.2kB


      带有正则化项的线性回归

      • 在梯度下降方法中
        如图,
        6.png-175.8kB

      在带有正则项的线性回归的梯度下降中,可以将 θ 的更新分成两部分,一部分是 θ0 ,另一部分是 θj,j=1,2,3... ,而后者可以等价于:

      θj=θj(1αλm)α1mi=1m(hθ(x(i))y(i))x(i)j


      选择题3:
      5.png-25.8kB


      • 在正规方程中

      7.png-20.1kB

      在正规方程中,正则化项为一个 (n+1)(n+1) 的矩阵。


      带有正则项的逻辑回归

      8.png-225.8kB

      在逻辑回归中,cost function带有了正则项后就变成这样:

      J(θ)=[1mi=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]+λ2mj=1nθ2j

      于是,随后的计算梯度就变成了这样,但一定要注意的是 j=0 j=1 是不同的。

      J(θ)θ0=1mmi=1(hθ(x(i))y(i))x(i)j for j=0

      J(θ)θ0=(1mmi=1(hθ(x(i))y(i))x(i)j)+λmθj for j>=1


      选择题4:

      9.png-35.8kB

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值