求解数据公式

今天小编给大家带来的是Excel规划求解的案例,利用此方法完美求解小米商城6升小米6活动,也算是给米粉和职场小白的小福利吧。虽说此活动已过半个月,但掌握这个知识点还是不错的。

放一张小米6的靓照,跟着它的惊艳,我们一起往下学。

首先查看小米商城6升小米6活动的规则:

  1. 从16个小米商品里任选6个商品。

  2. 算价格总和=6666。

准备:在开始之前首先要添加规划求解命令(默认状态下无规划求解选项的)。点击文件-选项-加载项,找到VBA工具库,点击下面的转到,然后将规划求解的面板前的勾上即可。

No.1输入商品价格,序号列数据代表16个数据。商品价格列填入要计算的数据即可数量列为要求得的数据列,此时数据任意即可,本课程中数据全部默认为1。

  • 2.填入计数项(黄色标注框),输入公式=SUM(C2:C17),对数量列求和

No.3依据已知条件规划求解

打开Excel的数据面板,找到分析下的规划求解,打开规划求解面板,如下图所示。

1.在设置目标处,选择目标值单元格(绿色标注)。

2.选择目标值,输入6666。

3.选择可以改变的单元格,为数量列

约束条件1:因小米活动要求为选择6件商品,因此C19这个单元格数值为6。

约束条件2:它是限制求得的数值为小于1的数,来满足活动中每件商品只能选择(点击选中)一次。

约束条件3:它是限制求得的数据为整数。

通过添加3个条件,即可满足求得的16个数为0或1,且总和为6。选中任意单元格,点击数据-分析-规划求解,点击求解即可。右下角显示求解的过程,在求解完会弹出完成面板,点击确定即可。这时左下角会出现Excel计算过程,计算结束会出现规划求解结果面板点击确定即可,求解结果如图。

通过改变商品价格列和数量列的个数,可以将此方法用在其他案例中。

注:对比小米4月底的6升小米6活动中商品的价格和现在官网的价格,发现并没有价格为95、185、248的商品,看来小米为了让我们参加这个活动,对所选商品的价格是经过计算的(避免出现求解无果),点个赞!

  说明:为什么要存在拉普拉斯平滑,因为在P(W|C)中,在C分类的条件下,W为多个特征,但是如果W中存在一个为0的情况,那个整个结果就为0,这样不合理。概率统计,为了是统计在分类条件下,特征的成立数

P(C|W) = —————————— 说明:P为概率,|在C的前提下W的概率, C分类, W多个条件(特征值) P(C):每个文档类别的概率(某文档类别数/文档类别总数) P(W|C):给定类别特征(被预测文档中出现的词)的概率 避免出现次数为0的时候,计算结果直接为0 说明:a指系数一般为1, m为W(多个条件)的个数,NI为每个条件的个数,N为W(多个条件)的总个数 源于古典数学理论,有稳定的分类效率 对缺失数据不太敏感,算法比较简单,常用语文本 使用样本属性独立性假设,与样本属性关联密切。如果训练集准确率不高,会影响结果 # 训练集中词的重要性统计 # 根据训练集转换测试集 二分类的算法评价指标(准确率、精准率、召回率、混淆矩阵、AUC) 预测值 0 预测值 1 F1 = ————————————— = ——————————————————— print("精准率和召回率:

  3)决策树和随机森林

        信息熵:
 说明:log 低数为2,单位比特,H(X)为熵,x为特征具体值,p(x)为该值在x特征值中的概率
 

  说明:随机森林是在决策树的基础上,种植多颗树的方式,只是每一颗树的深度没有决策树那么深

       特征复杂度决定了决策树的深度,不是树的深度越深,就越好的,有可能存在计算不出结果。

       信息熵:是确定树深度的最大值。

       信息增益:得知特征X的信息而使得类Y的信息的不确定性的减少程度。

简化理解和解释,树木可视化 需要很少的数据准备,其他技术通常需要数据归一化 减枝cart算法(决策树API中已经实现) 在当前所有算法中具有极好的准确率 能够有效的运行在大数据集上 能够处理具有高维特征的输入样本中,而且不需要降维 能够评估各个特征在分类问题上的重要性
说明:log 低数为2,单位比特,H(X)为熵,x为特征具体值,p(x)为该值在x特征值中的概率 简化理解和解释,树木可视化 需要很少的数据准备,其他技术通常需要数据归一化 减枝cart算法(决策树API中已经实现) 在当前所有算法中具有极好的准确率 能够有效的运行在大数据集上 能够处理具有高维特征的输入样本中,而且不需要降维 能够评估各个特征在分类问题上的重要性 # 采用DictVectorizer目的是,数据更多是文本类型的,借助dict的方式来处理成0/1的方式 # 网络搜索与交叉验证
(m行, l列)* (l行, n列) = (m行, n列)
w:权重, b偏置项, x:特征数据 b:单个特征是更加通用 通过一个或者多个自变量与因变量之间进行建模的回归分析 其中可以为一个或者多个自变量之间的线性组合(线性回归的一种) 涉及变量为两个或者两个以上

  b、损失函数(最小二乘法)

     损失函数(最小二乘法)(误差的平方和):
 yi:训练样本的真实值, hw(xi):第i个训练样本的特征、组合预测值

  说明:当损失值在最小的时候,说明,函数的拟合状态最好,这种方式,也就更加接近具体的预测轨迹

X:特征值矩阵, Y:目标值矩阵 Xt:转置特征值(行列替换) 特征比较复杂时,不一定能得出结果
w1 = -w1 - α———————————————— || w0 = -w0 - α———————————————— || α:学习速率,需要手动指定 ———————————————— 表示方向

  说明:在求最小损失值的时候,需要不断的求解W(权重值),权重值的求解方式一般为上面两种。求出的值,然后在计算损失值,然后在反过来推导,权重值。如此得出结果,速率越慢当然拟合程度越高,但都是拟合越高越好。

过拟合(训练集和测试集表现不好): 原始特征数量过多,存在一些嘈杂的特征,模型过于复杂是因为模型尝试去兼顾各个测试数据点 进行特征选择,消除一些关联性不大的特征(不好做) 交叉验证(让所有数据进行训练)

  最理想的状态不是第三种,而是第二种。

3、当特征数量n很大时,也比较适用 4、适用于各种类型的模型 1、不需要选择学习率α 3、需要计算(XtX)^(-1), 如果特征数量n很大时,时间复杂度很高,通常n<100000,可以接受 4、只能用于线性模型,不适合逻辑回归模型等其他模型
1、因为线性回归(LinearRegression)容易出现过拟合的情况,所有需要正则化 2、正则化的目的,就是将高幂(x^n,n很大),的权重降到接近于0 3、岭回归为带有正则化的线性回归 4、回归得到的系数更加符合实际,更加可靠,更存在病态数据偏多的研究中存在较大价值
        1、具有l2正则化的线性最小二乘法
 
w:权重, b偏置项, x:特征数据 b:单个特征是更加通用 通过一个或者多个自变量与因变量之间进行建模的回归分析 其中可以为一个或者多个自变量之间的线性组合(线性回归的一种) 涉及变量为两个或者两个以上 (m行, l列)* (l行, n列) = (m行, n列) 损失函数(最小二乘法)(误差的平方和): yi:训练样本的真实值, hw(xi):第i个训练样本的特征、组合预测值 X:特征值矩阵, Y:目标值矩阵 Xt:转置特征值(行列替换) 特征比较复杂时,不一定能得出结果 w1 = -w1 - α———————————————— || w0 = -w0 - α———————————————— || α:学习速率,需要手动指定 ———————————————— 表示方向 yi:预测值 y:真实值 3、当特征数量n很大时,也比较适用 4、适用于各种类型的模型 1、不需要选择学习率α 3、需要计算(XtX)^(-1), 如果特征数量n很大时,时间复杂度很高,通常n<100000,可以接受 4、只能用于线性模型,不适合逻辑回归模型等其他模型 1、因为线性回归(LinearRegression)容易出现过拟合的情况,所有需要正则化 2、正则化的目的,就是将高幂(x^n,n很大),的权重降到接近于0 3、岭回归为带有正则化的线性回归 4、回归得到的系数更加符合实际,更加可靠,更存在病态数据偏多的研究中存在较大价值 1、具有l2正则化的线性最小二乘法 # 数据标准化(目的,特征值差异过大,按比例缩小) # 目标值也要进行标准化(目的,特征值标准化后,特征值值过大在回归算法中,得出的权重值差异过大) # 两次标准化实例的目的,就是不同数据之间的实例化不一样 # 目标值也要转成2维数组(-1,不知道样本数) # 4、线性回归正规算法 1、通过结果可以看出真实值和预测值的差距还是很大的。 2、这是直接通过线性回归的正确公式来算出权重值的结果。 3、为了更好的减少误差,所以采用梯度下降的方式,来重新计算权重值 # 注意这里的预测值是标准化过后的数据,需要转回来 # 4、线性回归梯度下降算法 # 注意这里的预测值是标准化过后的数据,需要转回来 # 4、线性回归正则化算法(岭回归) # alpha为超参数,可以通过网格搜索和交叉验证,来确认alpha的值 # 注意这里的预测值是标准化过后的数据,需要转回来

  说明:从结果可以看出差异并不是很大,那是因为训练次数的原因,可以通过多次的训练来达到效果

g(z) = —————————— 输入:[0,1]区间的概率,默认值0.5作为阈值

   说明:逻辑回归,是算一种二分类算法。比如:是否是猫、狗等。我们不能完全确认,他是否是猫,那就用概率的方式来确认分类。概率值越高说明是,反之否。通过大约阈值来确认分类,这种方式人图像识别中还是比较常用的方式。

与线性回归原理相同,但是由于是分类问题。损失函数不一样。 只能通过梯度下降求解。 hθ(x)为x的概率值
          说明:在均方误差中不存在多个最低点,但是对数似然损失函数,会存在多个低点的情况 cost损失值越小,那么预测的类别精准度更高

   对数似然损失函数表现:(目前没有好的方式去解决确认最低点的问题)

    1、多次随机初始化,多次比较最小值结果

    2、求解过程中,调整学习率

  上面两种方式只是改善,不是真正意义上的解决这个最低点的问题。虽然没有最低点,但是最终结果还是不错的。

  损失函数,表现形式:

  说明:如果真实值为y=1时,当hθ(x)的概率越接近1时,说明损失函数的值越小。图形公式 -log(P)

  说明:如果真是值为y=0时,概率越小,损失值就越小

g(z) = —————————— 输入:[0,1]区间的概率,默认值0.5作为阈值 与线性回归原理相同,但是由于是分类问题。损失函数不一样。 只能通过梯度下降求解。 说明:在均方误差中不存在多个最低点,但是对数似然损失函数,会存在多个低点的情况 cost损失值越小,那么预测的类别精准度更高 C为回归系数默认值1.0

  五、上面说的都是监督学习的算法,下面介绍一种非监督学习的算法(k-mean)

   1)步骤和优缺点

分类个数,一般是知道分类个数的,如果不知道,进行超参数设置 1)随机在数据中抽取K个样本,当做K个类别的中心点 2)计算其余的点到这K个点的距离,每一个样本有K个距离值,从中选出最近的一个距离点作为自己的标记 3)计算着K个族群的平均值,把这K个平均值,与之前的K个中心点进行比较。 如果不同:把K个平均值作为新的中心点,进行计算 采用迭代式算法,直观易懂并且非常实用 容易收敛到局部最优解(多次聚类) 注意:聚类一般是在做分类之前
sci = ——————————— 注:对于每个点i为已聚类数据中的样本,bi为i到其他族群的所有样本的距离 最小值,ai为i到本族群的距离平均值 最终算出所有的样本的轮廓系数平均值
分类个数,一般是知道分类个数的,如果不知道,进行超参数设置 1)随机在数据中抽取K个样本,当做K个类别的中心点 2)计算其余的点到这K个点的距离,每一个样本有K个距离值,从中选出最近的一个距离点作为自己的标记 3)计算着K个族群的平均值,把这K个平均值,与之前的K个中心点进行比较。 如果不同:把K个平均值作为新的中心点,进行计算 采用迭代式算法,直观易懂并且非常实用 容易收敛到局部最优解(多次聚类) 注意:聚类一般是在做分类之前 # 交叉表(特殊分组) # (用户ID, 类别) sci = ——————————— 注:对于每个点i为已聚类数据中的样本,bi为i到其他族群的所有样本的距离 最小值,ai为i到本族群的距离平均值 最终算出所有的样本的轮廓系数平均值

请教wincc与excel通过Dde方式读写数据 excel有时接受不到数据 因一个算法很复杂所以通过公式编辑宏等在Excel中接受算wincc来的10个数据 算好后返回给Wincc15个数据 现在就是有时Excel有时就停在一个数据好像Wincc写不下去数据一样 但Wincc一直能接受excel停的最后数据算的结果 只有重启Excel才正常 求解 谢谢 -


为什么非得用EXCEL计算公式呢?
看能否在WinCC实现公式,这样就不用EXCEL了!
利用WinCC读写EXCEL脚本,先用WinCC将数据写入EXCEL(利用脚本,而非DDE)。在EXCEL编制VBA,算出所需的数据。WinCC再将EXCEL数据读入,就可以了!


提问者对于答案的评价:

现赠您1张1847体验会员卡,可免费领取,畅学1847会员内容,是否领取?

我要回帖

更多关于 韦达定理公式 的文章

 

随机推荐