逻辑回归

一、逻辑回归基础

1、逻辑回归底层用的sigmiod函数(0 , 1),决策函数是 θx (<0  or  >0)
2、SVC底层用的是sign函数(-1 , 1),决策函数是 wx + b (<0  or  >0)
3、LR 需要考虑所有的样本点的概率(尽量越远离阈值越好),即异常点敏感 ;SVM只考虑支持向量。
4、逻辑回归 sklearn API 支持同时输入多列目标属性y

3、逻辑回归的底层使用的是线性回归,即 θx = y预测值,

  1、什么是线性数据

                      

2、逻辑回归的知识脉络 

1. 逻辑回归算法是什么?逻辑回归基本原理是什么?构建原理是什么(sigmiod函数)?
2. 逻辑损失函数是什么?
3. softmax回归算法是什么?softmax回归基本原理是什么?构建原理是什么(softmax函数)?
4. 基于最大似然估计推导逻辑回归
5. 你觉得逻辑回归算法有什么局限性吗?那你觉得这个局限性怎么解决?优缺点
6. 基于BGD、SGD的逻辑回归代码的实现
1. 逻辑回归算法是什么?逻辑回归基本原理是什么?构建原理是什么(sigmiod函数)?
    1.1 逻辑回归是一个有监督学习的二分类算法,它的底层基于线性回归,空间中寻找一个超平面,将样本的        
        两个类别尽可能的分隔开,使得所有样本距离超平面越远越好,即符合类别概率越大越好。
    1.2 逻辑回归的底层是线性回归(wx + b 或 θx),将样本的 θx的预测值作为决策函数值 z 通过sigmiod
        函数进行转化概率 p,当p > threshold 时,预测类别为 1,p < threshold 时,预测类别为 0。
    1.3 sigmiod函数的公式与性质?
        pass
2. 逻辑损失函数是什么?
    pass
3. softmax回归算法是什么?softmax回归基本原理是什么?构建原理是什么(softmax函数)?
    3.1 softmax 回归 是一个有监督学习的多分类算法,它的底层基于线性回归。用每一个类别的训练集数据
        分别训练多组θ,将测试集数据分别代入多组θ方程中,将得到的结果映射到 0-1 区间内后作为样本符合
        某个类型的概率,求概率最大的类型作为样本的预测类别。
    3.2 softmax函数?
        pass
4. 基于最大似然估计推导逻辑回归
    pass
5. 你觉得逻辑回归算法有什么局限性吗?那你觉得这个局限性怎么解决?优缺点
    逻辑回归算法底层基于线性回归,因此特性也符合线性回归的特性
    5.1 逻辑回归的优缺点:
        5.1.1 优点:
            ① 逻辑回归解析性很强,模型构造简单
            ② 建模速度快,不需要复杂的计算,当数据量庞大的时候依然能保证很快的运行速度
            ③ 模型参数θ易获得,易保存到数据库中,即模型部跨平台署简单。
        5.1.2 缺点:
            ① 线性回归对异常值敏感 (因为回归模型需要考虑所有的样本点,而异常值对模型有较大的影响)
                异常值解决方案:
                    ① 数据清洗时应当删除数据
                    ② 利用Bagging的思想抽样求多个模型的均值

            ② 线性回归需要数据是线性的,因此对复杂数据的效果并不好(非线性数据需要扩展维度,多项式扩展、GBDT扩展)
                非线性数据解决方案:
                    将数据有低维映射到高维(多项式扩展、GBDT扩展维度),是的数据在高维空间线性可分。
 
6. 基于BGD、SGD的逻辑回归代码的实现
    pass

 二、逻辑回归的推导

1、sigmiod函数

(1)sigmiod函数的定义

 

(2)sigmiod函数的性质

2、逻辑回归的极大似然函数推导

3、逻辑回归的损失函数 LOSS    ------ 交叉熵损失函数

4、逻辑回归极大似然函数梯度下降

  •    逻辑回归 BGD、SGD

三、Softmax回归

1、逻辑回归:基础的逻辑回归是一个分类算法,而且是一个二分类算法,使用的是sigmiod函数映射 0-1 概率;如果需要多分类需
    要用softmax函数映射 0 - 1 概率。
2、Softmax 回归底层也是基于 线性回归:
    每次代入某一个类别所有的训练集数据进行训练,得到权重系数 θ;
    重复将所有的类别进行训练,分别得到对应类别的权重 θ,这样一来 数据有多少类别,就有多少组 θ 参数;
    在预测时分别代入所有组θ,将结果映射到 0-1 之间作为概率,取最大的概率的类别作为预测类别。
3、注意:ovr 多标签解决方法 与 softmax 多标签(softmax 每次只带入当前类别的训练数据)的区别。

1、softmax 回归基础

2、Softmax算法原理 

3、Softmax算法损失函数

4、Softmax算法梯度下降法求解

  •   Softmax算法梯度下降结果

 

四、logistic 回归 API

class sklearn.linear_model.LogisticRegressionCV(Cs=10, fit_intercept=True, cv=None, 
    dual=False, penalty='l2', scoring=None, solver='lbfgs', tol=0.0001, max_iter=100, 
    class_weight=None, n_jobs=1, verbose=0, refit=True, intercept_scaling=1.0, 
    multi_class='ovr', random_state=None)

'''    
        Cs=10                           ------- 传入一个惩罚项系数列表
        fit_intercept=True,
        cv=None,
        scoring=None,
        penalty='l2',
        random_state=None
'''
sklearn.linear_model.LogisticRegression

class sklearn.linear_model.LogisticRegression(penalty='l2', dual=False, tol=0.0001, C=1.0, 
    fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, 
    solver='liblinear', max_iter=100, multi_class='ovr', verbose=0, warm_start=False, n_jobs=1)

'''
        penalty='l2'                             --------- 正则项
        C=1.0                                    --------- 惩罚项系数
        fit_intercept=True                       --------- 是否训练截距项
        class_weight=None
        random_state=None,
        multi_class='ovr'
        solver='liblinear'
'''

属性:
    coef_ : array, shape (n_classes, n_features)              ------- 二维结构
    intercept_ : array, shape (n_classes,)                    ------- 一维结构
方法:
    score(X,y [,sample_weight])	返回给定测试数据和标签的平均精度。
    fit(X,y [,sample_weight])	根据给定的训练数据拟合模型。
    fit_transform(X [,y])	适合数据,然后转换它。    
    predict(X)	预测X中样本的类标签。    ---- predict 结果是一个一维结构,因此画图时需要用reshape()转化  
    predict_proba(X)	概率估计。                             -------- 它结果是一个二维结构
---------------------------------------------------------------------------------------------
    predict_log_proba(X)	记录概率估计。
    set_params(\ * \ * PARAMS)	设置此估算器的参数。
    get_params([深])	获取此估算工具的参数。
    sparsify()	将系数矩阵转换为稀疏格式。
    densify()	将系数矩阵转换为密集阵列格式。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值