Logistic回归 from机器学习实战第五章

回归:对于数据点,利用直线对其拟合的过程

Sigmoid函数:from度娘
在这里插入图片描述
在这里插入图片描述
特点:在x=0处像阶跃函数
输入 z =w0x0+w1x1+…+wnxn

优化方法:梯度上升(下降)法:

沿梯度方向找极值
原理:由于我们的任务是求得经验损失函数的最小值,所以实际上是一个“下坡”的过程。在每一个点上,我们希望往下走一步(假设一步为固定值0.5米),使得下降的高度最大,那么我们就要选择坡度变化率最大的方向往下走,这个方向就是经验损失函数在这一点梯度的反方向。每走一步,我们都要重新计算函数在当前点的梯度,然后选择梯度的反方向作为走下去的方向。随着每一步迭代,梯度不断地减小,到最后减小为零。这就是为什么叫“梯度下降法”。

核心:每走一步,迭代一次,计算当前的梯度,选择梯度最大(最小)的方向走
在这里插入图片描述
图上的γ 是一个系数,我们这里用0.001,迭代次数设置为500次
训练算法和画图的方法代码如下

import numpy as np
import matplotlib.pyplot as plt
import random


def loadDataSet():
    """
    测试用例的加载,设有x1,x2,补上x0的常数系数为1方便计算
    :return:
    """
    dataMat=[];
    labelMat=[];
    fr =open("testSet.txt")
    for line in fr.readlines():
        lineArr=line.strip().split()
        dataMat.append([1,float(lineArr[0]),float(lineArr[1])])
        labelMat.append(int(lineArr[-1]))
    return dataMat,labelMat


def sigmoid(inX):
    return 1.0/(1+np.exp(-inX))


def gradAscent(dataMatIn,classLabels):
    """
    梯
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值