0%

之前学习了几种分类的算法:逻辑回归、KNN近邻。这次来看另外一种模型:决策树。决策树是一种对实例进行分类的树形结构,通过多层判断区分目标所属类别。决策树的本质就是通过多层判断,从训练数据集中归纳出一组分类规则。其优点:计算量小,运算速度快;易于理解,可清晰查看各种属性的重要性。但是容易忽略属性间的相关性;样本类别分布不均匀时,容易影响模型表现。

使用 sklearn.cluster 模块可以对未标记的数据进行聚类。对于这类非监督的聚类算法来说,因为数据都是未标记的,所以模型训练完毕后得到的结果可能是与真实标记结果匹配不上的,需要手动矫正一下数据。对于 K-Means 算法来说,我们需要指定一个类别数量。Mean-shift 只需要根据指定的采样数量,自行计算搜索半径,不需要手动指定簇的数量(这里说的簇也就是类别,在 Sklearn 的文档里都叫做簇)。最后会对比一下有监督学习的 KNN 算法,看看效果。

最近用了一段时间的TextMeshPro,也是逐渐对其有一定了解以及自己的一些看法。先说说为什么最近项目切换了TextMeshPro呢?主要还是因为内存问题,项目中Unity版本2020.x,Unity想要升级的要话踩的坑确实有点多,没像Android那样平滑升级,所以切换版本的方案暂时pass掉,在Vulkan引擎下,如果使用Aria字体会偶现内存释放不掉,甚至达到600-800M的程度,一块FontTexture占用几百M的内存,这合理吗?很显然内存优化首当其冲的就是这块FontTexture!

监督式学习:发现数据属性和类别属性之间的关联。并通过利用这些模式用来预测未知数据实例的类别属性。

无监督学习:机器学习的一种方法,没有给定事先标记过的训练示例自动对输入的数据进行分类或分群。

非监督式学习中研究最多、应用最广的是聚类算法(Clustering)。常见的无监督学习应用在聚类分析、关联规则、维度缩减等。聚类算法是机器学习的一种,属于非监督式学习,没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群,所以称之为聚类。

当我们要解决一个分类问题,尤其是一个二分类问题时,如果我们用线性回归去解决就会面临这样一个问题:样本量变大后,准确率会下降。这时为了更好地解决这种分类问题,我们就需要采用逻辑回归的方法了。现在有两个逻辑回归的实战案例:考试通过预测、芯片检测通过预测。同样本次练习也是基于sk-learn库, 通过逻辑回归实现二分类。

对垃圾邮件进行检测分类是机器学习中的经典案例,如何对垃圾邮件进行检测呢?首先需要人为标注样本邮件为垃圾/正常,然后计算机获取匹配的样本邮件及其标签,学习其特征,后面计算机针对新的邮件,自动识别其类型。用于帮助判断是否为垃圾邮件的属性,比如正文包含:现金、领取、红包、优惠、新品推广、季末促销、优惠套餐、折扣优惠、积分优惠等等。对于分类问题还比如图像分类、数字识别、考试通过预测……

什么是回归分析?(Regression Analysis) 回归分析是一种统计方法,用于显示两个或更多变量之间的关系。该方法检验因变量与自变量之间的关系,常用图形表示。通常情况下,自变量随因变量而变化,并且通过回归分析确定出哪些因素对该变化最重要。

以前在学习线性回归算法的时候主要使用 Octave 作为主要编程语言,现在想来无论是画图还是矩阵运算不如Python的numpy、matplotlib等方便快捷,现主要记录下通过Anaconda与Jupyter NoteBook搭建机器学习环境的过程。