<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_51456926的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_51456926</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_51456926]]></copyright><item><title><![CDATA[keras实现手写数字识别]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122882178</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122882178</guid><author>m0_51456926</author><pubDate>Fri, 11 Feb 2022 15:47:36 +0800</pubDate><description><![CDATA[title: keras实现手写数字识别
date: 2022-02-11 12:02:07
tags:
- Keras
- TensorFlow
- 神经网络
- 机器学习
categories: 机器学习
TensorFlow和Kears的安装
Keras是基于TensorFlow和Theano（由加拿大蒙特利尔大学开发的机器学习框架）的深度学习库，是由纯python编写而成的高层神经网络API，也仅支持python开发。它是为了支持快速实践而对tensorflow或者Theano的再次封装，让我们可.]]></description><category></category></item><item><title><![CDATA[协同过滤算法]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122775004</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122775004</guid><author>m0_51456926</author><pubDate>Thu, 03 Feb 2022 12:03:45 +0800</pubDate><description><![CDATA[目录协同过滤算法相似度的计算方式杰卡德(Jaccard)相似系数杰卡德相似系数杰卡德距离余弦相似度皮尔逊相关系数其他UserCF基于用户的协同过滤算法思想举例说明计算Alice与其他用户的相似度(以余弦相似度为例)根据相似度用户计算出Alice对物品5的最终得分根据用户评分对用户进行推荐缺点数据稀疏性用户相似度矩阵维护度大实现ItemCF基于物品的协同过滤算法思想举例计算物品相似度矩阵根据物品相似度计算出最终得分优缺点优点缺点物品相似度矩阵维护难度大实现UserCF和ItemCF的对比
协同过滤算法
协同过]]></description><category></category></item><item><title><![CDATA[聚类(三)--DBSCAN]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122658500</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122658500</guid><author>m0_51456926</author><pubDate>Wed, 26 Jan 2022 00:15:00 +0800</pubDate><description><![CDATA[DBSCan算法
DBSCAN算法算法是基于密度得一类聚类算法，可以将具有足够高密度的区域划分成簇，并可以发现任何形状的聚类。
下面先介绍几组概念：
ϵ\epsilonϵ邻域：给定对象半径ϵ\epsilonϵ内的区域称为该对象的ϵ\epsilonϵ邻域。
如下图所示，如果假设p点为中心点，以ϵ\epsilonϵ为半径的圆域就是p的ϵ\epsilonϵ邻域。
核心对象：如果给定ϵ\epsilonϵ邻域内的样本点数大于等于Minpoints，则该对象为核心对象。
如下图：假设Minpoints=3，以p为中心，]]></description><category></category></item><item><title><![CDATA[聚类(二)K-means算法优化]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122658405</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122658405</guid><author>m0_51456926</author><pubDate>Tue, 25 Jan 2022 00:15:00 +0800</pubDate><description><![CDATA[K-Means 算法问题
1.对于K个初始质心的选择比较敏感，容易陷入局部最小值
对于K个初始质心的选择比较敏感，容易陷入局部最小值。
例如在运行K-Means的程序中，每次运行结果可能都不一样，如下面的两种情况，K-Means也是收敛了，但只是收敛到了局部最小值

解决办法：
使用多次的随机初始化，计算每一次建模得到的代价函数的值，选取代价函数最小的结果最为聚类结果。

x表示样本，u表示x对应得簇得重心。
程序：
import numpy as np
import matplotlib.pyplot a]]></description><category></category></item><item><title><![CDATA[聚类(一)——K-Means算法]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122658561</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122658561</guid><author>m0_51456926</author><pubDate>Mon, 24 Jan 2022 02:45:00 +0800</pubDate><description><![CDATA[聚类是一种无监督学习。与分类不同的是，分类的数据集都是有标签的已经指明了该样本是哪一类，而对于聚类其数据集样本是没有标签的，需要我们根据特征对这些数据进行聚类。
K-Means算法是一种无监督学习的聚类方法。
1.K-Means算法
算法接受参数K，然后将事先输入的n个数据对象划分成K个聚类以便使得所获得得聚类满足：同一聚类中得对象相似的较高，而不同聚类中的对象相似度较小。
算法思想：以空间中K个点为中心进行聚类，对著靠近他们得对象归类。通过迭代的方法，逐次更新聚类中心得值，直至得到最好的聚类结果。
K—M]]></description><category></category></item><item><title><![CDATA[贝叶斯定理]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122635526</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122635526</guid><author>m0_51456926</author><pubDate>Sun, 23 Jan 2022 00:15:00 +0800</pubDate><description><![CDATA[1.贝叶斯定理
贝叶斯定理：P(H∣X)=P(X∣H)P(H)P(X)P(H|X)=\frac{P(X|H)P(H)}{P(X)}P(H∣X)=P(X)P(X∣H)P(H)​



以上是一个特征的例子，如果特征多个的情况下会使得统计量巨大如下图所示的一组数据，如果需要计算办证对于垃圾邮件的影响，则需要计算办证+理财堆垃圾邮件的影响，办证+理财+投资对垃圾邮件的影响，计算办证+理财+投资+资讯对垃圾邮件的影响…… 总共需要计算2n−12^{n-1}2n−1次，n是特征数。这样如果我们有很多特征的话，显然是无]]></description><category></category></item><item><title><![CDATA[集成学习算法及程序]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122601212</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122601212</guid><author>m0_51456926</author><pubDate>Sat, 22 Jan 2022 00:30:00 +0800</pubDate><description><![CDATA[文章目录1.集成学习2.bagging3.随机森林4.boosting5.Stacking
1.集成学习
集成学习是一种“博采众长”的思想，他通过构建并结合多个机器学习模型来完成学习任务。假如我们通过训练得到了两个学习器，一个学习器准确率为90%，另一个只有60%，但是对于某一些样本，60%的那个学习器的表现可能会比90%的那个好一些。所以集成学习就是组合多个分类器，最后得到一个更好的分类器。对于训练集，通过训练若干个个体学习器，通过一定的结合策略，最终形成一个强学习器，以达到博采众长的目的。
集成学习算法]]></description><category></category></item><item><title><![CDATA[决策树--CART算法]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122589501</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122589501</guid><author>m0_51456926</author><pubDate>Sat, 22 Jan 2022 00:15:00 +0800</pubDate><description><![CDATA[文章目录1.Crat算法(分类树)1.1基尼系数1.2连续型特征处理1.3CART算法1.5 举例说明1.5 代码2.回归树
1.Crat算法(分类树)
1.1基尼系数
CART是基于基尼(Gini)系数最小化准则来进行特征选择，生成二叉树。
基尼系数代表了模型得不纯度，基尼系数越小，则不纯度越低，特征越好。这点和信息增益是相反的。
在分类问题中，假设有K各类别，第k个类别概率为pkp_{k}pk​,则基尼系数的表达式为：
Gini(D)=1−∑k=1Kpk2Gini(D)=1-\sum_{k=1}^{K}]]></description><category></category></item><item><title><![CDATA[决策树(3)-sklearn实现及可视化画图]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122557495</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122557495</guid><author>m0_51456926</author><pubDate>Fri, 21 Jan 2022 00:15:00 +0800</pubDate><description><![CDATA[1.仍然使用之前得数据

]]></description><category></category></item><item><title><![CDATA[决策数—(ID3和C4.5)算法实现]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122550071</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122550071</guid><author>m0_51456926</author><pubDate>Thu, 20 Jan 2022 00:15:00 +0800</pubDate><description><![CDATA[1.ID3算法

我们要对这样一组数据来构建一棵决策树来预测在{天气=晴，温度=适中，湿度=正常，风速=弱}的情况下，是否适合活动。
信息熵为：Ent(′活动′)=−914log2914−514log2514=0.9402859586706309Ent('活动')=-{\frac{9}{14}log_{2}\frac{9}{14}}-\frac{5}{14}log_{2}\frac{5}{14}=0.9402859586706309Ent(′活动′)=−149​log2​149​−145​log2​145​]]></description><category></category></item><item><title><![CDATA[决策树(1)--ID3算法C4.5算法]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122545654</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122545654</guid><author>m0_51456926</author><pubDate>Wed, 19 Jan 2022 00:30:00 +0800</pubDate><description><![CDATA[1.决策树
决策树指一类常见的机器学习算法，以二分类为例，我们希望从给定训练集学得一个模型用以对新实列进行分类，这个把样本分类的任务，可以看作对‘“当前样本属性正常吗”这个问题的“决策”过程。而决策树就是基于树结构来进行决策的，如下图所示如果一个女生的妈妈给她介绍对象，如果这个被介绍的人的年龄大于30岁就不见，如果小于30岁长相丑的话也不见，年龄低于30岁长的帅收入低也不见，如果收入中等不是公务员不见，是公务员才会见面。最终这个女生经过了一系列的决策，决定最终见面还是不见。这个决策的过程就构成了一颗决策树。]]></description><category></category></item><item><title><![CDATA[KNN算法(附鸢尾花分类实现)]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122517654</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122517654</guid><author>m0_51456926</author><pubDate>Tue, 18 Jan 2022 00:15:00 +0800</pubDate><description><![CDATA[​
1.k近邻算法
k近邻学习(K-Nearest Neighbor,简称KNN)学习是一种常用的监督学习方法，其工作机制非常简单：给定测试样本，基于某种距离度量找出训练集中与其距离最近的k个样本，然后通过这k个邻居样本来进行预测，那种类别的邻居数量多，这个测试样本就被认为是那个类别的。与“投票”较为类似。下图是一个KNN的二分类问题的一个实列，可以看出k的取值不同，测试样本的分类也会不同，但都是基于他的邻居的投票的出的。

下面给出KNN算法的步骤：
① 计算未知样本与所有已知样本实列的距离。
②对距离从]]></description><category></category></item><item><title><![CDATA[逻辑回归实现鸢尾花分类]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122511976</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122511976</guid><author>m0_51456926</author><pubDate>Mon, 17 Jan 2022 00:15:00 +0800</pubDate><description><![CDATA[from sklearn.datasets import load_iris
import numpy as  np
import matplotlib.pyplot as plt
from sklearn.metrics import classification_report

iris=load_iris()
#print(iris)
print(iris['target_names'])#分类名称
data=iris.data#样本数据150个样本每个样本4个维度
target=iris.targe]]></description><category></category></item><item><title><![CDATA[逻辑回归推导]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122502335</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122502335</guid><author>m0_51456926</author><pubDate>Sun, 16 Jan 2022 04:00:00 +0800</pubDate><description><![CDATA[1.sigmoid函数
在逻辑回归中，我们引入了一个函数，sigmoid函数。
y=11+e−xy=\frac{1}{1+e^{-x}}y=1+e−x1​
 该函数有一个很好的特性就是在实轴域上y的取值在（0,1），且有很好的对称性，对极大值和极小值不敏感（因为在取向无论是正无穷还是负无穷的时候函数的y几乎很稳定）。由于sigmoid函数的值域在（0，1）之间，这正好可以表示一个概率值，令P(Y=1∣X)=11+e−θx+bP(Y=1 |X)=\frac{1}{1+e^{-\theta{x}+b}}P(Y=]]></description><category></category></item><item><title><![CDATA[神经网络(4)代码解决异或问题]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122491245</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122491245</guid><author>m0_51456926</author><pubDate>Sat, 15 Jan 2022 00:01:25 +0800</pubDate><description><![CDATA[1.构建神经网络
为了解决异或问题，我们构建如图所示的神经网络

该神经网络一共有3层，其中z(l)z^{(l)}z(l)表示第l层未经激活函数之前的中间变量，a(l)a^{(l)}a(l)表示第l层输出，θ1\theta_{1}θ1​表示输入层和隐藏层之间的权重矩阵，θ2\theta_{2}θ2​表示隐藏层和输出层之间的权值矩阵。
2.代码
import numpy as np

#输入数据
X=np.array([[0,0],
            [0,1],
            [1,0],
]]></description><category></category></item><item><title><![CDATA[神将网络(3)反向传播算法及推导]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122477302</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122477302</guid><author>m0_51456926</author><pubDate>Fri, 14 Jan 2022 11:43:59 +0800</pubDate><description><![CDATA[1.反向传播算法
在前一篇文章中我们介绍了神经网络的前向传播并构建出了损失函数。我们从输入层开始一层一层向前进行计算，一直到最后一层的hθ(x)h_{\theta}(x)hθ​(x)。现在为了计算使用梯度下降法就要计算偏导数∂θi,j(l)J(θ)\frac{\partial}{\theta^{(l)}_{i,j}}J(\theta)θi,j(l)​∂​J(θ),我们需要采用一种反向传播的算法，也就是先计算最后一层的误差，然后再一层一层反向求出各层的误差，直到倒数第二层(应为倒数第一层为输入层即x本身，不会]]></description><category></category></item><item><title><![CDATA[神经网络(2)]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122472982</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122472982</guid><author>m0_51456926</author><pubDate>Thu, 13 Jan 2022 23:13:04 +0800</pubDate><description><![CDATA[1.从感知机到神经网络
 在感知机一文中已经对感知机模型，学习算法都做了介绍，它有多个输入一个输出，多个输入经过线性变换通过一个激活函数得到输出。它可以很好地解决线性的二分类问题，但是却无法解决非线性的分类问题。比如简单的异或问题。

从图中我们可以看到对于异或问题，显然无法找到可以将正负样本分开的一条直线，那么感知机也就不可能学习出这样的模型。既然一个感知机无法解决非线性分类问题，那么多个感知机呢？。于是有多个感知机构成神经网络便产生了。

对于一个如图所示的神经网络，其中x1,x2,x3x_{1},x_]]></description><category></category></item><item><title><![CDATA[神经网络(1)—感知机]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122463031</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122463031</guid><author>m0_51456926</author><pubDate>Thu, 13 Jan 2022 11:30:34 +0800</pubDate><description><![CDATA[1.感知机模型

如图为人体神经网络图，输入信号从树突传入，在细胞核处汇总，输出信号从轴突处传出传入其他神经元，从而构成了一个人体的神经网络。而感知机其类似于一个神经元。

一个单层感知机与人体神经元类似，x1，x2,x3x_{1}，x_{2},x_{3}x1​，x2​,x3​为输入结点，及神经元的输入信号，w1,w2,w3w_{1},w_{2},w_{3}w1​,w2​,w3​为各输入结点的权重，可以理解为神经元各个树突的电阻，到达细胞核后通过进行汇总，通过一个激活函数处理后进行输出。其中，w和b称为感知]]></description><category></category></item><item><title><![CDATA[矩阵分解(预测打分)]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122427193</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122427193</guid><author>m0_51456926</author><pubDate>Tue, 11 Jan 2022 21:53:23 +0800</pubDate><description><![CDATA[1.问题引入
 有如下R(5,4)矩阵:("-"表示用户没有打分)
其中打分矩阵R(n,m)是n行和m列，n表示user个数,m表示item个数。

 想要根据目前的矩阵R对未打分的商品进行评分的预测。为了解决这个问题，就用到了矩阵分解的方法。
2.问题分析
2.1构造损失函数
 为了求出未打分的值，可以将矩阵R(n,m)分解为P(n,k)*Q(K,m),所以可以得到一个预测值R^=P∗Q\hat{R}=P*QR^=P∗Q,来预测矩阵R，那么此时我们的问题就转换成了如何令R^\hat{R}R^与R最为接近，]]></description><category></category></item><item><title><![CDATA[正则化(吴恩达机器学习笔记)]]></title><link>https://blog.youkuaiyun.com/m0_51456926/article/details/122361713</link><guid>https://blog.youkuaiyun.com/m0_51456926/article/details/122361713</guid><author>m0_51456926</author><pubDate>Fri, 07 Jan 2022 12:53:40 +0800</pubDate><description><![CDATA[文章目录1.过拟合问题2.代价函数3.正则化线性回归1.梯度下降法2.正规方程4.正则化逻辑回归
1.过拟合问题

如图所示：第一个模型是线性的，属于欠拟合，不能很好的适应数据集，而第3个则是一个高次方的模型，过于拟合原始数据，从而不能很好的预测数据，属于欠拟合。也不难看出，当x的次数越高，训练出来的模型就会对数据集拟合的越好，但是其预测效果就会变差。
解决方案：
①减少特征的数量，丢弃掉一些非必要的特征。
②正则化。保留所有特征，减小模型参数。
2.代价函数
在上面图中第三个模型为：hθ(x)=θ0+θ1]]></description><category></category></item></channel></rss>