算法
老手er
爱python,爱生活
展开
-
震精!18行代码实现通用线性回归算法问题
线性回归通用算法话不多说,直接上代码import numpy as np# 定义假设函数:X是一个行向量 W是一个列向量def hyFunction(X, W): return X.dot(W)# 梯度函数def gradientFunction(X, W, y): return (X.dot(W) - y).dot(X) # 行向量#梯度下降算法def grad...原创 2019-10-31 21:09:22 · 301 阅读 · 1 评论 -
基于numpy的KMeans聚类算法
K-means算法(基于numpy)K-means算法是输入K个聚类个数,以及包含 M个数据对象的数据库(本篇采用的是sklearn.datasets中的make_blobs方法生成高斯(正态)分布的10000个点以及5个随机点作为中心点作为样本点,以便用于聚类),输出满足方差最小的标准k个聚类的一种算法。同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小的特点。聚类相似度是利用各聚类...原创 2019-09-09 21:22:02 · 1206 阅读 · 0 评论 -
python应用Axes3D绘图(批量梯度下降算法)
问题:将拥有两个自变量的二阶函数绘制到空间坐标系中,并通过批量梯度下降算法找到并绘制其极值点大体思路:首先,根据题意确定目标函数:f(w1,w2) = w1^2 + w2^2 + 2 w1 w2 + 500然后,针对w1,w2分别求偏导,编写主方法求极值点而后,创建三维坐标系绘制函数图像以及其极值点即可具体代码实现以及成像结果如下:import numpy as npimport ...原创 2019-09-05 20:00:13 · 1243 阅读 · 0 评论 -
python经典pizza预测问题(批量梯度下降算法)
pizza预测问题:pizza店又要推出新款pizza了,该怎么更加合理的定义其价格呢?以下是pizza的现有数据:pizza直径(cm):6, 8, 10, 14 , 18对应价格 (元) :7, 9, 13, 17.5, 18新款的pizza直径(cm)为21,欲求价格???说明:pizza店中有很多不同size的pizza,随着pizza的直径越来越大,价格肯定越来越高,显然...原创 2019-09-04 21:45:05 · 1370 阅读 · 0 评论 -
python批量梯度下降算法(人工智能的核心)
批量梯度下降算法背景:批量梯度下降算法是1847年由著名数学家Cauchy给出的,它是解析法中最古老的一种,其他解析方法或是它的变形,或是受它的启发而得到的,因此它是最优化方法的基础。作为一种基本的算法,他在最优化方法中占有重要地位。优点:工作量少,存储变量较少,初始点要求不高;缺点:收敛慢,效率不高,有时达不到最优解。所谓梯度下降就是导数值下降梯度函数是由目标函数求导或偏导得到的,目...原创 2019-09-04 20:48:21 · 498 阅读 · 0 评论 -
K-means算法(python)
K-means算法(python人工智能入门算法)K-means算法简介:K-means算法是输入k个聚类个数,以及包含 n个数据对象的数据库(本篇采用的是随机数作为数据样本),输出满足方差最小标准k个聚类的一种算法。k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小的特点。聚类相似度是利用各聚...原创 2019-08-12 19:31:33 · 584 阅读 · 0 评论 -
python阶乘算法
阶乘算法推导原理阶乘:n!=123*…n-1n(过于简单,不做过多描述)代码如下:num=input("请输入一个数:")if num.isdigit(): #天然要求输入的是 >=0 的自然数 num=int(num) result=1 #定义结果初值为1(由于0的阶乘为1,所以无需考虑) for i in range(1,num...原创 2019-08-01 21:30:37 · 1541 阅读 · 0 评论 -
阿姆斯特朗数
阿姆斯特朗数水仙花数 n=3(三位数)推导原理:三位数计算方式:个位的三次方+十位的三次方+百位的三次方=这个数(四位数为四次方,以此类推),其中,1到9一定是阿姆斯特朗数。代码如下:num=input("请输入一个范围:")if num.isdigit(): #判断用户输入的是否为纯数字 num=int(num) #转...原创 2019-08-01 21:23:03 · 1701 阅读 · 0 评论 -
python斐波那契数列算法
斐波那契数列算法兔子问题推理过程(公司笔试面试类型题)(斐波那契数列)第一个月: 1 小兔子 =1第二个月: 1 小兔子 =1第三个月: 1 对大兔子 1 对小兔子(本月生) ...原创 2019-08-01 21:06:51 · 738 阅读 · 0 评论 -
python插入排序算法
插入排序算法插入排序算法是一种较为快捷的排序算法。插入排序原理:将一组数据分为两组,分别将其称为有序数组和待插入数组。每次从待插入数组中取出一个元素,同有序数组的元素进行比较,找到合适的位置后,将该元素插入有序数组中。每插入一个元素,有序数组增加,待插入数组减少。直到待插入数组元素个数为0时结束。一般将数据第一个元素视为有序数组,其他均为待插入的数组。例如 lista=[12,5,16,10,...原创 2019-08-01 20:42:12 · 158 阅读 · 0 评论 -
冒泡排序
冒泡排序算法算法原理: 从头开始,依次比较相邻的两个元素,如果前者大于后者,则进行交换;否则,不交换。如此一来,每一轮次下来的最后一次就是最大元素。重复以上的步骤。已经确定的元素除外。例如,arr=[25,45,12,16,87,46] 如下是推导过程: 第一轮: [25,45,12,16,87,46] 第二轮: [25,45,...原创 2019-08-01 14:42:27 · 115 阅读 · 0 评论