吴恩达机器学习笔记-决策边界

决策边界

决策边界就是一个能正确区分正例和负例之间的边界,那么它是怎么计算出来的呢?

在这里插入图片描述
在逻辑回归中,我们预测:
当h_θ (x)>=0.5时,预测 y=1。
当h_θ (x)<0.5时,预测 y=0 。
根据上面绘制出的 S 形函数图像,我们知道当
z=0 时 g(z)=0.5
z>0 时 g(z)>0.5
z<0 时 g(z)<0.5
又 z=θ^T x ,即:
θ^T x>=0 时,预测 y=1
θ^T x<0 时,预测 y=0
现在假设我们有一个模型:
在这里插入图片描述
并且参数θ 是向量[-3 1 1]。 则当-3+x1+x2≥0,即x1+x2≥3时,模型将预测 y=1。 我们可以绘制直线x1+x2=3,这条线便是我们模型的分界线,也就是决策边界,将预测为1的区域和预测为 0的区域分隔开。
在这里插入图片描述
假使我们的数据呈现这样的分布情况,怎样的模型才能适合呢?
在这里插入图片描述
因为需要用曲线才能分隔 y=0 的区域和 y=1 的区域,我们需要二次方特征:

在这里插入图片描述
是[-1 0 0 1 1],则我们得到的判定边界恰好是圆点在原点且半径为1的圆形。
我们可以用非常复杂的模型来适应非常复杂形状的判定边界。

复杂模型求解决策边界的方法

复杂模型求解决策边界的方法就是先将简单特征映射为复杂特征,比如将x1,x2,映射为x1,x2,x1^2等特征:
在这里插入图片描述
具体代码如下:

# feature mapping(特征映射)
def feature_mapping(x, y, power, as_ndarray=False):
    #     """return mapped features as ndarray or dataframe"""
    # data = {}
    # # inclusive
    # for i in np.arange(power + 1):
    #     for p in np.arange(i + 1):
    #         data["f{}{}".format(i - p, p)] = np.power(x, i - p) * np.power(y, p)

    data 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值