机器学习之使用Python完成逻辑回归

  • 时间:
  • 浏览:19

  

  

随机梯度下降减慢,但会 当他们都不还可以 迭代的次数就是能更多,一点一点还是用batch的比较离米 !!!  

  

查看theta参数

根据上图当他们都还可以 看一遍,你这种函数的值域是0到1。当x趋近于负无穷时,y趋近于0,当x趋近于正无穷时,y趋近于1。但会 当x等0时,y等于0.5。

接下来按照模块化编程:

计算cost值,检查cost函数否是正确  

根据参数计算损失:

根据图片标题当他们都还可以 看一遍差很多迭代50万次才达到当他们都定义的阈值,而此时收敛的效果更好。损失值不还可以 0.25,消耗的时间达到50多秒。下面根据梯度变化停止,设定阈值0.05,表示梯度相差0.05即停止迭代。

  

它好多了!原始数据,不还可以 500次迭代损失值达到0.61,而当他们都得到了0.38在这里! 一点一点对数据做预处理是非常重要的  

  

下面1表示每次1次迭代只拿2个多样本,batchSize取1代表随机梯度下降,取总样本数代表梯度下降,取1~总样本数之间代表miniBatch梯度下降

  

浮动仍然比较大,当他们都来尝试下对数据进行标准化:将数据按其属性(按列进行)减去其均值,但会 除以其方差。最后得到的结果是,对每个属性/每列来说所有数据都聚集在0付进 ,方差值为1  

  

计算准确率  

根据以上,当他们都还可以 检查到前面都不 不还可以 问题图片的。使用Notebook开发一点一点你这种好处,还可以 边做边检查。

  

查看y2个样本数据

根据否是录取为标准,查看数据集的分布

  

预测函数

返回预测结果值:

这次时间只花了0.16秒,损失值不还可以 0.22,迭代次数就是能一千多次,得到的结果不错。一点一点说当当他们都进行数据梯度下降的曾经 ,首先对数据进行预处理,但会 再进行各种的尝试,在这里语录Mini-batch是比较好的,无论是从时间还是结果来看。 

  

首先导入不还可以 使用到的Python库:

后边迭代了500次,看起来似乎目标函数但会 成功收敛。后边消耗一秒多的时间,看起来似乎不太行,损失值0.63。下面根据损失值停止,设定阈值1E-6,也一点一点两次损失值之差不还可以 超过1E-6,差很多不还可以 50000次迭代

查看数据维度:

读取数据但会 查看数据:

进行参数更新

  

查看Sigmoid函数图像: 

数据集链接为:链接:https://pan.baidu.com/s/1H3T3RfyT3toKbFrqO2z8ug,提取码:jku5 

  

   

  

最终得到准确率89%。

  

进行结果的图像展示的展示

打乱数据,处理有规律数据  

怪怪的爆炸。。。很不稳定,下面把迭代次数调高点,学习率调低点

(1)批量梯度下降

(2)随机梯度下降(3)小批量梯度下降 

根据迭代次数停止,设定阈值500次,也一点一点说迭代次数超过500即停止迭代

查看X,y,theta的维度  

  

下面进行Mini-batch descent,一次迭代拿16个样本。

当他们都将建立2个多逻辑回归模型来预测2个多学生否是被大学录取。假设你是2个多大学系的管理员,你想根据两次考试的结果来决定每个申请人的录取但会 。你有曾经 的申请人的历史数据,我想要用它作为逻辑回归的训练集。对于每2个多培训例子,你有2个多考试的申请人的分数和录取决定。为了做到你这种点,当他们都将建立2个多分类模型,根据考试成绩估计入学概率。

查看X2个样本数据  

 θ0表示第2个多考试成绩权重,θ1表示第2个考试成绩权重,θ2表示偏置项

总结:首先拿到数据集看下数据长什么样子,但会 再给数据增加了一列都不 1的数据,但会 再对每个模块函数的编写,最后对比各种策略下的实验结果,最终得出最佳结果。   

  

在第一列的前面在加上数据全为1的一列,为了方便后边的矩阵进行运算。  

首先,定义Sigmoid函数

计算每个参数的梯度方向:

比较3种不同梯度下降法律法律依据 :

  

  

 更多的迭代次数会使得损失下降的更多! 

  

还可以 看出这次结果,带宽单位快,但稳定性差,不还可以 很小的学习率