当前位置: 首页 > news >正文

做整站优化上海企业网站建设价格

做整站优化,上海企业网站建设价格,手表东莞网站建设技术支持,做网站广告语最近需要复习一下机器学习相关知识,记录一下 一、简介 线性回归:h(x)wTxbh(x)w^T x bh(x)wTxb logistic回归就是在线性模型的基础上加上一个sigmoid函数ggg,即h(x)g(wTxb)h(x)g(w^T xb)h(x)g(wTxb)。。。g(z)1/(1e−z)g(z)1/(1e^{-z})g(z)…

最近需要复习一下机器学习相关知识,记录一下

一、简介

线性回归:h(x)=wTx+bh(x)=w^T x +bh(x)=wTx+b

logistic回归就是在线性模型的基础上加上一个sigmoid函数ggg,即h(x)=g(wTx+b)h(x)=g(w^T x+b)h(x)=g(wTx+b)。。g(z)=1/(1+e−z)g(z)=1/(1+e^{-z})g(z)=1/(1+ez)
它可以将一个线性回归中的结果转化为一个概率值。此时h(x)h(x)h(x)表示的就是某件事发生的概率,我们也可以记为p(Y=1∣x)p(Y=1|x)p(Y=1∣x)

二、 逻辑回归的损失函数

逻辑回归采用的是交叉熵的损失函数。

对于一般的二分类的逻辑回归来说交叉熵函数为:J(θ)=−[yln(y′)+(1−y)ln(1−y′)]J(\theta)=-[yln(y')+(1-y)ln(1-y')]J(θ)=[yln(y)+(1y)ln(1y)],其中y′y'y是预测值。

实际上我们求的是训练中所有样本的损失,因此:

J(θ)=−1m∑[yiln(yi‘)+(1−yi)ln(1−yi‘)]J(\theta )=-\frac{1}{m}\sum[y_i ln(y_i`)+(1-y_i )ln(1-y_i`)] J(θ)=m1[yiln(yi)+(1yi)ln(1yi)]

三、逻辑回归的优化方法

3.1 梯度下降

函数梯度的方向就是函数增长最快的方向,反之梯度的反方向就是函数减少最快的方向。因此我们想要计算一个函数的最小值,就朝着该函数梯度相反的方向前进。
假设我们需要优化的函数:f(X)=f(x1,...,xn)f(X)=f(x_1,...,x_n)f(X)=f(x1,...,xn)

首先我们初始化自变量,从X(0)=(x1(0),...xn(0))X^(0)=(x_1^{(0)},...x_n^{(0)})X(0)=(x1(0),...xn(0))开始。设置一个学习率η\etaη
对于任何i>=0i>=0i>=0:

如果是最小化fff

x1i+1=x1i−η∂f∂x1(x(i))x_1^{i+1}=x_1^{i}-\eta \frac{\partial{f}}{\partial{x_1}}(x^{(i)})x1i+1=x1iηx1f(x(i))

xni+1=xni−η∂f∂xn(x(i))x_n^{i+1}=x_n^{i}-\eta \frac{\partial{f}}{\partial{x_n}}(x^{(i)})xni+1=xniηxnf(x(i))

反之如果求fff的最大值,则

x1i+1=x1i+η∂f∂x1(x(i))x_1^{i+1}=x_1^{i}+\eta \frac{\partial{f}}{\partial{x_1}}(x^{(i)})x1i+1=x1i+ηx1f(x(i))

xni+1=xni+η∂f∂xn(x(i))x_n^{i+1}=x_n^{i}+\eta \frac{\partial{f}}{\partial{x_n}}(x^{(i)})xni+1=xni+ηxnf(x(i))

3.2逻辑回归的优化

逻辑回归优化的目标函数:
J(w,b)=−1m∑[yiln(σ(wTx+b))+(1−yi)ln(1−σ(wTx+b))]J(w,b )=-\frac{1}{m}\sum[y_i ln(\sigma(w^T x +b))+(1-y_i )ln(1-\sigma(w^T x +b))]J(w,b)=m1[yiln(σ(wTx+b))+(1yi)ln(1σ(wTx+b))]

我们需要优化参数w,bw,bw,b,从而使其在我们已知的样本X,yX,yX,y上值最小。也就是我们常说的经验风险最小。

首先我们需要对J(w,b)J(w,b)J(w,b)求导。

先令 g=σ(wTx+b)g=\sigma(w^T x +b)g=σ(wTx+b)

∂J(g)∂g=−∂∂g[yln(g)+(1−y)ln(1−g)]=−yg+1−y1−g\frac{\partial J(g)}{\partial g}=-\frac{\partial}{\partial g}[yln(g)+(1-y)ln(1-g)]=-\frac{y}{g}+\frac{1-y}{1-g} gJ(g)=g[yln(g)+(1y)ln(1g)]=gy+1g1y

再令:a=wTx+ba=w^T x +ba=wTx+b

∂g∂a=∂(11+e−a)∂a=−(1+e−a)−2−e−a=11+e−a1+e−a−11+e−a=σ(a)(1−σ(a))=g(1−g)\frac{\partial g}{\partial a}=\frac{\partial ({\frac{1}{1+e^{-a}}})}{\partial a}=-(1+e^{-a})^{-2}-e^{-a}=\frac{1}{1+e^{-a}}\frac{1+e^{-a}-1}{1+e^{-a}}=\sigma(a)(1-\sigma (a))=g(1-g) ag=a(1+ea1)=(1+ea)2ea=1+ea11+ea1+ea1=σ(a)(1σ(a))=g(1g)

可以发现g=σ(a)g=\sigma(a)g=σ(a),但是gggaaa求导之后居然是 g(1−g)g(1-g)g(1g),在后续的梯度下降优化中,Sigmoid函数的这个性质可以减少很多不必要的计算。

接下来求需要优化的参数w,bw,bw,b的梯度。
根据链式求导:

∂J∂w=∂J∂g∂g∂a∂a∂w=(−yg+1−y1−g)g(1−g)x=(g−y)x\frac{\partial J}{\partial w}=\frac{\partial J}{\partial g}\frac{\partial g}{\partial a}\frac{\partial a}{\partial w}=(-\frac{y}{g}+\frac{1-y}{1-g})g(1-g)x=(g-y)x wJ=gJagwa=(gy+1g1y)g(1g)x=(gy)x

∂J∂b=∂J∂g∂g∂a∂a∂b=(−yg+1−y1−g)g(1−g)=(g−y)\frac{\partial J}{\partial b}=\frac{\partial J}{\partial g}\frac{\partial g}{\partial a}\frac{\partial a}{\partial b}=(-\frac{y}{g}+\frac{1-y}{1-g})g(1-g)=(g-y) bJ=gJagba=(gy+1g1y)g(1g)=(gy)

四、调用sklearn中的lr

import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
X=datasets.load_iris()['data']
Y=datasets.load_iris()['target']
from sklearn.linear_model import LogisticRegression
X_train,X_test,y_train,y_test=train_test_split(X,Y,test_size=0.1,stratify=Y)model=LogisticRegression(penalty='l2',class_weight=None,random_state=None,  max_iter=100)
model.fit(X_train,y_train)
model.predict_proba(X_test)

penalty:惩罚系数,也就是我们常说的正则化,默认为"l2",可选为l1。

class_weight:类别权重,一般我们在分类不均衡的时候使用,比如{0:0.1,1:1}代表在计算loss的时候,0类别的loss乘以0.1。这样在0类别的数据过多时候就相当于给1类别提权了。

max_iter:最大迭代次数。

五、为什么逻辑回归中经常会将特征离散化。

这个是工业界中常见的操作,一般我们不会将连续的值作为特征输入到逻辑回归的模型之中,而是将其离散成0,1变量。这样的好处有:

1:稀疏变量的内积乘法速度快,计算结果方便存储,并且容易扩展;

2:离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰。

3:逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;

4:离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;

5:特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是比较重要的。

http://www.yayakq.cn/news/752430/

相关文章:

  • 网站平台需要做无形资产吗 怎么做棋牌源码交易商城
  • linux删除WordPress怎样优化网站app
  • 汽车技术资料网站建设wordpress文章中调用自定义字段
  • 房屋产权地址备案在那个网站做2023新闻摘抄大全
  • 新像素ui设计官网网站关键词搜索优化怎么做
  • 广西网站建设seo优化做跨境电商网站报价
  • 网站关键词标签做网站 人员
  • 财佰通突然做网站维护免费素材网站下载
  • 东莞优化seo网站关键词优化重庆 seo
  • 做网站能赚多少钱wordpress保存帖子数据
  • 商业网站建设案例课程视屏下载免费seo提交工具
  • 投稿网站源码福州短视频seo程序
  • 企业门户网站需求文档wordpress 死链提交
  • 无锡快速建设网站方法1688网站可以做全屏吗
  • 带引导页的网站免费模板网站下载
  • 德阳公司做网站网站 运营工作如何做
  • 网站正在建设中 模板seo的主要工作是什么
  • 企业网站asp源码网站为什么要维护
  • 关于网站建设的文案广西柳州网站建设公司
  • 松江九亭网站建设wordpress中如何用仪表盘添加视频
  • 开家网站建设培训班阿里云国际wordpress
  • c 能做网站上海建设工程服务交易网
  • 英文网站建设 江门学php到做网站要多久
  • 苏州网站建设设计有限公司是什么性质企业
  • 新乡网站建设制作公司做企业推广的公司
  • 济南网站建设yigeseoword文档做网站
  • 关于网站建设的销售技巧咸宁网站定制
  • 体育直播网站源码seo推广目的
  • 卓越亚马逊网站建设目的丹阳做公司网站的
  • 网站用什么做内网穿透比较好GPS实时定位网站怎么做