线性模型

这里写图片描述

  • 线性分类

1. 数学表示
           yj=sign(ω1x1+ω2x2+...+ωmxm)yj=sign(ω1x1+ω2x2+...+ωmxm)
           对于二元分类,结果为+时可标记为正类,结果为负时标记为负类。
2. 损失函数
样本标签为y¯,根据权重计算输出为y^y^,当y¯y^y^相同时,损失记为0,否则,损失记为1。称为0-1损失函数。
  • 线性回归

1. 数学表示
           yj=ω1x1+ω2x2+...+ωmxmyj=ω1x1+ω2x2+...+ωmxm
2. 损失函数
线性回归用的损失函数为平方损失函数:Loss=(yiyi¯)2Loss=∑(yi−yi¯)2。为何采用平方损失函数呢?回归任务的输出是在实数范围,为了表示损失大小,最基本的想法是通过绝对值表示损失的绝对大小,并进行累加,但绝对值函数是非连续的函数,无法进行优化训练。采用平方的方式与绝对值函数在问题空间上表示是一致的,而且方便进行优化,得出最优解。
  • 逻辑回归

1. 数学表示
           hθ(x)=1/(1+exp(ω1x1+ω2x2+...+ωmxm))hθ(x)=1/(1+exp−(ω1x1+ω2x2+...+ωmxm))
假设输入数据服从贝努力分布,逻辑回归任务目标是估计输入数据属于不同类别的概率。
2. 损失函数
Loss(hθ(x),y)={log(hθ(x))log(1hθ(x))if y=1if y=0Loss(hθ(x),y)={−log(hθ(x))if y=1−log(1−hθ(x))if y=0
当y=1时,假定这个样本为正类。如果此时hθ(x)=1,则单对这个样本而言的cost=0,表示这个样本的预测完全准确。那如果所有样本都预测准确,总的cost=0
但是如果此时预测的概率hθ(x)=0hθ(x)=0,那么LossLoss→∞。直观解释的话,由于此时样本为一个正样本,但是预测的结果P(y=1|x;θ)=0, 也就是说预测 y=1的概率为0,那么此时就要对损失函数加一个很大的惩罚项。
当y=0时,推理过程跟上述完全一致,不再累赘。
将以上两个表达式合并为一个,则单个样本的损失函数可以描述为:
Loss(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))Loss(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x))
  • 优化策略

  • sklearn使用方式

from sklearn.linear__model import LinearRegression  #线性回归
 lr = LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs = 1)
from sklearn.linear__model import LinearRegression  #线性回归 lr = LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs = 1)

from sklearn.linear__model import LogisticRegression  #逻辑回归
 lr = LogisticRegression(penalty='l2',C=1.0,max_iter=100,multi_class='ovr',solver='liblinear',tol=1e-4)
from sklearn.linear__model import LogisticRegression  #逻辑回归 lr = LogisticRegression(penalty='l2',C=1.0,max_iter=100,multi_class='ovr',solver='liblinear',tol=1e-4)

解释一下出现的关键参数:
fit_intercept:可以理解为二维坐标中是否是正比例函数,即是否xx为0向量时,y的值为0。
normalize:是否将数据归一化。
copy_X:是否将训练数据X复制一份,还是在X上进行覆盖。
n_jobs:使用的CPU的核数。
penalty:正则化参数,取值为l1或l2.
C:对于参数ww,为了防止w对预测结果影响过大,也即出现过拟合,在损失函数中加入λw2λw2,C为1/λ1/λ。可见C大,则λλ小,对参数的限制就小,对参数引起的过拟合容忍度高。超参数。
max_iter:训练迭代的次数,超参数。
multi_class:ovr或者multinomial.
solver:训练过程中的优化策略,有liblinear,newton-cg,lbfgs,sag,saga等。其中liblinear对于小数据集效果好,sag和saga处理效率更高。
tol:在误差大小达到多少时可以提前停止训练。超参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值