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

做企业网站注意些啥太原网络营销

做企业网站注意些啥,太原网络营销,cms做网站后台,企业官方网站开发平台【1】引言 前序学习进程中,已经对岭回归和岭回归的官方示例进行了解读,但之前侧重于展示岭回归算法对线性系数的影响,因此还有必要进一步追溯这种影响发生的根本原因,这就是本次学习的目的。 【2】linear_model.Ridge()函数 点…

【1】引言

前序学习进程中,已经对岭回归和岭回归的官方示例进行了解读,但之前侧重于展示岭回归算法对线性系数的影响,因此还有必要进一步追溯这种影响发生的根本原因,这就是本次学习的目的。

【2】linear_model.Ridge()函数

点击下方链接,直达官方linear_model.Ridge()函数的说明页面。
此处我们汇总一下主要内容:

lass sklearn.linear_model.Ridge(
alpha=1.0, 正则化强度
*,强制后续的参数必须通过关键字写入
fit_intercept=True,是否计算模型截距
normalize=False,是否进行归一化
copy_X=True,是否复制X
max_iter=None,共轭梯度求解器的最大迭代次数
tol=0.001, 优化算法的精度
solver=‘auto’,自动选择求解器
random_state=None 随机打乱数据)

在此基础上,我们回头看先前代码:

# X is the 10x10 Hilbert matrix
# 这里包括两个步骤
# 第一步,生成[1,2,...,10]的一维数组,一共10个数,组成一个行向量
# 第二步,生成[0,1,...,9]的一维数组,一共十个数,然后增加一个轴,转化为10行1列的二维矩阵,实际上是一个列向量
# 第三步,加号"+"串联起两个数组,并且数组自动广播,都变成10行10列的二维矩阵
# 二维矩阵相加的结果是,位置为(i,j)的元素实际上是第(i+1,j+1)的元素,比如第一行第一列的元素位置被记录为(0,0)而非(1,1)
# 执行加法计算后,元素位置为(i,j)处的计算结果为(i+1+j)
# 最后获得的X则是对加法计算的矩阵在每个位置再计算倒数后的值
X = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])
# y是一个纯1矩阵,一共10个数
y = np.ones(10)# #############################################################################
# Compute paths# 定义常数n_alphas = 200
n_alphas = 200
# 定义以10为底数的对数,真数从-10到-2均匀变化,一共输出n_alphas个/200个数
alphas = np.logspace(-10, -2, n_alphas)# 定义一个空列表
coefs = []
for a in alphas:# ridge定义了一个岭回归对象ridge = linear_model.Ridge(alpha=a, fit_intercept=False)# 执行岭回归计算ridge.fit(X, y)# ridge.coef_是岭回归计算出来的系数# 本例中,由于每一行的样本是10个特征,所以有10个系数# 每一行样本都会使用这10个系数coefs.append(ridge.coef_)

这里只用了两个参数:

ridge = linear_model.Ridge(alpha=a, fit_intercept=False)

首先用动态变化的a来改变alpha,然后计算不考虑截距,因为截距对计算结果没有影响。这种设置的目的是让代码聚焦于改变正则化强度因子。
这个时候让我们再看一次代码运行获得的效果图:
在这里插入图片描述
这里故意做了坐标轴的逆向,突出了一个内容:当alpha越小,也就是正则化强度越低,得到的线性系数就可能越大。
为了进一步对比,我们不妨在代码中该换一下强度因子定义方式:

# 定义常数n_alphas = 200
n_alphas = 200
# 定义以10为底数的对数,真数从-10到-2均匀变化,一共输出n_alphas个/200个数
alphas0 = np.logspace(-10, -2, n_alphas)
# 用指数函数计算正则化强度
alphas1 = np.exp(-1*np.linspace(0,10,n_alphas))
# 用三角函数来计算正则化强度
alphas2 = 0.5 * (1 + np.sin(np.linspace(-0.5 * np.pi, 0.5 * np.pi, n_alphas)))
# 将正弦序列的值映射到合理的alpha范围(0.001到1之间)
alphas2 = 0.001 + alphas2 * 0.999

之后绘图部分也分成三个小子图:

# 第一个子图 - 对数空间正则化
axes[0].plot(alphas0, coefs0)
axes[0].set_xscale('log')
axes[0].set_xlim(axes[0].get_xlim()[::-1])  # 反转x轴,使正则化强度从大到小
axes[0].set_ylabel('weights')
axes[0].set_title('Log-space regularization')
axes[0].grid(True, alpha=0.3)# 第二个子图 - 指数衰减正则化
axes[1].plot(alphas1, coefs1)
axes[1].set_xscale('log')
axes[1].set_xlim(axes[1].get_xlim()[::-1])  # 反转x轴
axes[1].set_ylabel('weights')
axes[1].set_title('Exponential decay regularization')
axes[1].grid(True, alpha=0.3)# 第三个子图 - 正弦序列正则化
axes[2].plot(alphas2, coefs2)
axes[2].set_xscale('log')
axes[2].set_xlim(axes[2].get_xlim()[::-1])  # 反转x轴
axes[2].set_xlabel('alpha')
axes[2].set_ylabel('weights')
axes[2].set_title('Sinusoidal sequence regularization')
axes[2].grid(True, alpha=0.3)

最后获得的图像为:
在这里插入图片描述
可见虽然正则化强度因子不一样,但最后获得的线性系数在高强度因子的作用下取值均趋向于0,符合稳健性的特征。
此时的完整代码为:

# 引入必要模块
import numpy as np
import matplotlib.pyplot as plt
# 引入线性模型
from sklearn import linear_model# X is the 10x10 Hilbert matrix
# 这里包括两个步骤
# 第一步,生成[1,2,...,10]的一维数组,一共10个数,组成一个行向量
# 第二步,生成[0,1,...,9]的一维数组,一共十个数,然后增加一个轴,转化为10行1列的二维矩阵,实际上是一个列向量
# 第三步,加号"+"串联起两个数组,并且数组自动广播,都变成10行10列的二维矩阵
# 二维矩阵相加的结果是,位置为(i,j)的元素实际上是第(i+1,j+1)的元素,比如第一行第一列的元素位置被记录为(0,0)而非(1,1)
# 执行加法计算后,元素位置为(i,j)处的计算结果为(i+1+j)
# 最后获得的X则是对加法计算的矩阵在每个位置再计算倒数后的值
X = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])
# y是一个纯1矩阵,一共10个数
y = np.ones(10)# #############################################################################
# Compute paths# 定义常数n_alphas = 200
n_alphas = 200
# 定义以10为底数的对数,真数从-10到-2均匀变化,一共输出n_alphas个/200个数
alphas0 = np.logspace(-10, -2, n_alphas)
# 用指数函数计算正则化强度
alphas1 = np.exp(-1*np.linspace(0,10,n_alphas))
# 用三角函数来计算正则化强度
alphas2 = 0.5 * (1 + np.sin(np.linspace(-0.5 * np.pi, 0.5 * np.pi, n_alphas)))
# 将正弦序列的值映射到合理的alpha范围(0.001到1之间)
alphas2 = 0.001 + alphas2 * 0.999
# 定义一个空列表
coefs0 = []
for a in alphas0:# ridge定义了一个岭回归对象ridge = linear_model.Ridge(alpha=a, fit_intercept=False)# 执行岭回归计算ridge.fit(X, y)# ridge.coef_是岭回归计算出来的系数# 本例中,由于每一行的样本是10个特征,所以有10个系数# 每一行样本都会使用这10个系数coefs0.append(ridge.coef_)coefs1 = []
for a in alphas1:# ridge定义了一个岭回归对象ridge = linear_model.Ridge(alpha=a, fit_intercept=False)# 执行岭回归计算ridge.fit(X, y)# ridge.coef_是岭回归计算出来的系数# 本例中,由于每一行的样本是10个特征,所以有10个系数# 每一行样本都会使用这10个系数coefs1.append(ridge.coef_)
# #############################################################################
# Display resultscoefs2 = []
for a in alphas2:# ridge定义了一个岭回归对象ridge = linear_model.Ridge(alpha=a, fit_intercept=False)# 执行岭回归计算ridge.fit(X, y)# ridge.coef_是岭回归计算出来的系数# 本例中,由于每一行的样本是10个特征,所以有10个系数# 每一行样本都会使用这10个系数coefs2.append(ridge.coef_)# 创建3行1列的图像布局
fig, axes = plt.subplots(3, 1, sharex=False)# 第一个子图 - 对数空间正则化
axes[0].plot(alphas0, coefs0)
axes[0].set_xscale('log')
axes[0].set_xlim(axes[0].get_xlim()[::-1])  # 反转x轴,使正则化强度从大到小
axes[0].set_ylabel('weights')
axes[0].set_title('Log-space regularization')
axes[0].grid(True, alpha=0.3)# 第二个子图 - 指数衰减正则化
axes[1].plot(alphas1, coefs1)
axes[1].set_xscale('log')
axes[1].set_xlim(axes[1].get_xlim()[::-1])  # 反转x轴
axes[1].set_ylabel('weights')
axes[1].set_title('Exponential decay regularization')
axes[1].grid(True, alpha=0.3)# 第三个子图 - 正弦序列正则化
axes[2].plot(alphas2, coefs2)
axes[2].set_xscale('log')
axes[2].set_xlim(axes[2].get_xlim()[::-1])  # 反转x轴
axes[2].set_xlabel('alpha')
axes[2].set_ylabel('weights')
axes[2].set_title('Sinusoidal sequence regularization')
axes[2].grid(True, alpha=0.3)# 整体标题
plt.suptitle('Ridge coefficients as a function of different regularization sequences',fontsize=16, y=0.95)plt.tight_layout()
plt.show()

【3】总结

详细解读了岭回归linear_model.Ridge()函数,并且尝试更改了正则化强度因子alpha的定义方式,获得了高强度正则化条件下线性化系数趋向于相同取值的效果。

http://www.dtcms.com/a/460681.html

相关文章:

  • Redis 缓存与数据库谁先更新?
  • 网站备案要营业执照原件吗怎么做一个小程序app
  • 网站里的横幅广告怎么做商城网站 html模板
  • 金坛网站开发河南瑞达建设工程有限公司网站
  • 临淄网站设计可以做网站的公司
  • 做视频网站程序多少钱网站 注册模块怎么做
  • 做电影网站需要告诉网络网络营销方式有哪几种有哪些
  • 免保证金入驻电商平台wordpress摘要seo
  • 最低价网站建设建设企业网站公司
  • 旅游网站开发的背景及意义怎么在手机上设计网站
  • 网站搜索引擎收录百度一下百度首页官网
  • 南京品牌网站设计网站权重是什么
  • 有没有免费注册域名的网站淄博网站建设
  • php英文商城网站建设株洲新区发布
  • 长丰县建设局网站郑州做网站推广电
  • 谷歌有做网站建设合肥网站专业制作
  • 网站建设合同 技术合同房产做网站吸引
  • 长沙有什么做试卷的网站企业营销型网站建设费用
  • 主视觉设计网站wordpress 招聘 插件
  • 南宁会制作网站的技术人员无锡城乡建设局网站
  • 商务网站建设与维护流程百度电脑网页版入口
  • 库尔勒网站建设哪家专业辽宁建设工程信息网直接发包代理机构流程
  • 公司网站建设需要哪些内容软件界面设计工具都有什么
  • 上海有哪几家做新房的网站内存做硬盘缓存软件网站
  • 网站建设玖金手指谷哥十济南网站优化排名推广
  • 在网上帮做图片的网站wordpress 根目录函数
  • 内含各种专业的网站搭建模板沈阳工程招标网
  • 塑胶制品东莞网站建设珠宝网站官网建设需求
  • 山东嘉邦家居用品公司网站 加盟做经销商多少钱 有人做过吗网站建设 需求模板
  • 公司网站无法收录桂建云官网