机器学习基础
文章平均质量分 88
生信小兔
一枚生信小兔,专研于深度学习与机器学习算法,并利用数学方法,物理模型与化学研究生化,分子与细胞生物学,免疫,发育生物学等问题。
展开
-
决策树(Decision tree)基本原理与基于scikit-learn的实现
决策树(Decision Tree)基本原理与基于scikit-learn的实现。原创 2022-08-13 17:23:41 · 1475 阅读 · 0 评论 -
基于scikit-learn支持向量机(Support vector machine)的实现
基于scikit-learn 支持向量机实现。原创 2022-08-06 09:54:14 · 866 阅读 · 0 评论 -
离散傅里叶变换(DFT)
DFT变换基本原理与算法实现原创 2022-08-03 15:06:15 · 20419 阅读 · 2 评论 -
朴素贝叶斯(Naive Bayes)详解
贝叶斯决策论、朴素贝叶斯原理与算法实现、具体应用。原创 2022-07-15 19:50:02 · 29348 阅读 · 6 评论 -
k-近邻(KNN)算法详解
KNN算法原理与算法实现。原创 2022-07-01 09:24:05 · 2445 阅读 · 0 评论 -
单层感知机(Single Layer Perceptron)详解
本文着重阐述单层感知机的结构、损失函数构造、梯度的推导与模型训练方法。原创 2022-06-25 15:43:51 · 13882 阅读 · 0 评论 -
主成分分析(PCA)详解
主成分分析(PCA)原理与应用原创 2022-06-06 15:22:21 · 90640 阅读 · 6 评论 -
激活函数(activation function)的种类与应用
激活函数在逻辑回归、感知机、神经网络系列模型中有着重要的作用,是神经网络最重要的组成成分之一。如果把神经网络模型比作一台机器,那么激活函数就起着类似信号处理器的作用,把输入的数据进行处理然后准备输出。在一般的神经网络中,激活函数负责把上一层输出的数据(一般是向量或矩阵)计算后的结果进行处理,得到新的一组数(即新的输出),对应就是下面蓝色与红色之间的直箭头部分。例如,对与上面的三层神经元(一般会把蓝色和红色合并成一个节点,这里兔兔为了展示方便,画成两个圆)。我们以中间层为例。中间的左半部分..原创 2022-05-11 09:40:02 · 3291 阅读 · 0 评论 -
多元函数牛顿法求函数极小值
多元函数牛顿法求极小值是对一元函数牛顿法的延申,关于一元函数牛顿法,可以看兔兔的《牛顿法(Newton's method)求函数极小值》一文。(一)算法原理与一元函数形式相似,但是又有很大的区别。首先,兔兔先介绍两个需要用到的基本概念:Hession矩阵和梯度。对于一个多元函数,有n个自变量,为n元函数,其Hession矩阵形式如下:并且自变量(向量x)为:函数的梯度定义为:例如对于二元函数,它的梯度就是。其Hession矩阵为:从本质上来说,多元函数梯度对应就是原创 2022-05-10 12:44:02 · 3997 阅读 · 0 评论 -
牛顿法(Newton‘s method)求函数极小值
牛顿法一般指牛顿迭代法,也叫做牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),其最初的作用是用来求解函数的零点,但是也可以像梯度下降方法一样,以迭代的形式来求函数的极值。而事实上,牛顿法求零点和极值的思想是一样的,因为函数的极值点对应就是函数的导数的零点(但导数零点有时可能是函数的极大、极小或驻点)。所以牛顿法求函数极小值还是有许多的问题的。(一)牛顿法求零点。(1)基本原理牛顿法的思想就是在函数曲线上初始一个点,做该点的切线与x轴交于x0,然后再过(x0,f(x0))原创 2022-05-10 10:50:52 · 10591 阅读 · 2 评论 -
判别分析(1)——距离判别法
判别分析是多元统计分析的内容,其作用在分类确定的条件下,根据某一研究对象的各种特征的值来判断其归属于哪一类(即总体)。实际上,这一类问题就是根据已有的样本数据与对应的类别,判断未知类别的数据属于哪一类。像逻辑回归、支持向量机等从某种意义上来说也属于是判别分析的一种,只不过这些算法需要根据样本对模型进行训练,从而能够利用未知数据的各个指标判断其属于哪一类;而统计学中的判别分析,并没有利用数据进行训练,而是按照一定的判别准则、建立判别函数来判断新的数据属于哪一类。判别分析有许多的方法。本文讲述的是判别分析比原创 2022-04-23 20:55:15 · 10734 阅读 · 1 评论 -
相似性度量(距离度量)方法(二):字符串(文本)相似性度量
在本篇文章中,兔兔讲述字符串的相似性(距离)度量方法与算法实现。(1)海明距离。根据(一)篇当中的内容,我们已经知道了海明距离的度量方法。即判断字符串对应位置是否相等。def Hamming_distance(list1,list2): n=len(list1) #n为列表长度,且list1与list2长度相等 s=0 for i in range(n): if list1[i]==list2[i]: s+=1 e原创 2022-04-21 20:57:19 · 1974 阅读 · 0 评论 -
相似性度量(距离度量)方法(一):基本种类与公式
相似性度量(或距离度量)方法在多元统计中的聚类分析、判别分析中的距离判别法、泛函分析、机器学习等方面都有应用。所以对于数据分析、机器学习等方面,掌握相似性的不同度量方法是十分重要且必要的。相似性度量与距离度量本质上是同一件事情。如果两组数据之间的距离越大,那么相似性越小;反正,如果相似性越大,那么距离越小,这是可以直观理解的。但是距离度量与相似度量还是有一点点区别的。距离度量,一般情况下距离是大于0的数;而相似性或相异性通常数值介于[0,1]之间。相似性与相异性统称为邻近度。对于相似性的度量,首原创 2022-04-20 16:22:45 · 25588 阅读 · 4 评论 -
k-均值(k-means)聚类
k-均值聚类实际上是多元统计分析中的聚类分析部分的内容,但是也是机器学习的基础算法。它的目的就是把数据(无标签)进行分类,但是具体分多少个类却不知道,只能我们先认为的假设分为多少个类进行计算。聚类与分类是有着本质区别的。对于分类问题及其算法算法(如逻辑回归、支持向量机等分类算法),它们属于监督学习——根据原有的数据(有标签类别)和对应的类别进行训练,训练后可以把新的未知类别的数据进行预测判别其属于哪一类;而聚类则是只有一堆数据,我们不知道类别(即无标签),而是人为地进行分类。简单来说,分类问题,就好比人原创 2022-04-17 20:06:07 · 9799 阅读 · 2 评论 -
免疫算法(Immune Algorithm)详解
关于免疫算法(IA),其功能与遗传算法、模拟退火等算法实现的功能是相同的,都是用来求最优解。例如求函数最值、旅行商问题等。从本质上说,免疫算法更像是遗传算法的一种延申。IA虽然其中借鉴了生物学(免疫学)的概念,但学习时需要注意,IA毕竟是一种算法,把算法中所有概念都与免疫学概念联系起来是容易难以理解算法的,甚至容易混淆。所以IA只是借鉴免疫学概念并受免疫过程的启发,最终其实还是需要回归到算法当中。即便如此,兔兔在后面还是需要将算法与一些生物学概念联系,但是会辨别其中本质区别。而且学习时需要与遗传算法相结原创 2022-04-17 13:29:19 · 13136 阅读 · 12 评论 -
逻辑回归(Logistic Regression)详解
逻辑回归也称作logistic回归分析,是一种广义的线性回归分析模型,属于机器学习中的监督学习。其推导过程与计算方式类似于回归的过程,但实际上主要是用来解决二分类问题(也可以解决多分类问题)。通过给定的n组数据(训练集)来训练模型,并在训练结束后对给定的一组或多组数据(测试集)进行分类。其中每一组数据都是由p 个指标构成。(1)逻辑回归所处理的数据逻辑回归是用来进行分类的。例如,我们给出一个人的 [身高,体重] 这两个指标,然后判断这个人是属于”胖“还是”瘦“这一类。对于这个问题,我们可以先测量n个原创 2022-04-14 22:20:10 · 216653 阅读 · 28 评论 -
动量梯度下降(Gradient descent with momentum)详解
动量梯度下降(Gradient descent with momentum)详解关于动量梯度下降,其作用普通的梯度下降是差不多的。但是在普通的梯度下降中,如果遇到了比较复杂的情况,就会出现:如果学习率过大,摆动过大,误差较大;如果学习率过小,又会使得迭代次数增加,学习时间会很长。在神经网络模型中就常常会遇到上面这些情况的,总是会出现解一种在小范围震荡而很难达到最优解的情况。而动量梯度则可以比较好的避免上述问题。它的过程类似于一个有质量的小球在函数曲线上向下滚落。当球滚到最低点后,由于具有惯性还会继续上升原创 2022-04-12 13:04:52 · 6745 阅读 · 0 评论 -
模拟退火(simulated annealing)算法详解
模拟退火(simulated annealing)算法详解模拟退火算法来源于固体退火原理,得益于材料统计力学的研究成果,并且该算法也是一种基于概率的算法。该算法主要用于求解最优解问题,如巡航问题、函数极值等。在材料统计力学中,材料中的粒子的不同结构对应粒子的不同能量水平,高温条件下粒子能量高,可以自由运动和重新排列;低温条件下粒子能量低。如果从高温开始缓慢降温(即退火),粒子就可以在每个温度下达到热平衡。当系统完全被冷却时,最终形成低能状态晶体。算法原理设材料在状态i的能量为E(i),那么材料在温度原创 2022-04-03 15:22:36 · 7521 阅读 · 3 评论 -
矩阵求导(本质、原理与推导)详解
矩阵求导详解原创 2022-03-29 13:54:44 · 24259 阅读 · 12 评论 -
梯度下降(Gradient descent)算法详解
梯度下降(Gradient descent)算法详解说起梯度下降算法,其实并不是很难,它的重要作用就是求函数的极值。梯度下降就是求一个函数的最小值,对应的梯度上升就是求函数最大值。为什么这样说呢?兔兔之后会详细讲解的。虽然梯度下降与梯度上升都是求函数极值的算法,为什么我们常常提到“梯度下降”而不是梯度上升“呢?主要原因是在大多数模型中,我们往往需要求函数的最小值。比如BP神经网络算法,我们得出损失函数,当然是希望损失函数越小越好,这个时候肯定是需要梯度下降算法的。梯度下降算法作为很多算法的一个关键环节,原创 2022-03-26 21:44:15 · 19319 阅读 · 6 评论