
机器学习
文章平均质量分 52
瑶麦_
这个作者很懒,什么都没留下…
展开
-
机器学习-推荐系统编程作业
一、正则化的代价函数Y:用户评分矩阵R:用户是否评分设影片个数为n,用户个数为m,则Y和R都为n×m大小矩阵X:电影特征矩阵theta:用户偏好矩阵param:序列化的X和thetadef serialize(X, theta): """序列化两个矩阵""" # X (movie, feature), (1682, 10): movie features # theta (user, feature), (943, 10): user preference .原创 2021-07-21 15:51:18 · 364 阅读 · 0 评论 -
机器学习-异常检测编程作业
异常检测步骤:选择处于异常状态(有反常样本)的特征作为输入针对每一个特征计算μ和σ2μi=1m∑j=1mxi(j)\mu_i=\frac{1}{m}\sum_{j=1}^mx_i^{(j)}μi=m1j=1∑mxi(j)σi2=1m∑j=1m(xi(j)−μi)2\sigma_i^2=\frac{1}{m}\sum_{j=1}^m(x_i^{(j)}-\mu_i)^2σi2=m1j=1∑m(xi(j)−μi)2你要做的是,输入一个X矩阵,输出2个n维的向量,mu包含了每原创 2021-07-21 11:24:04 · 247 阅读 · 0 评论 -
机器学习-组成成分分析编程作业
步骤:均值标准化、特征缩放(可选)计算协方差矩阵Σ及其特征向量def pca(X): # 归一化 X = (X - X.mean()) / X.std() # compute the covariance matrix X = np.matrix(X) # 计算协方差矩阵 cov = (X.T * X) / X.shape[0] # perform SVD U, S, V = np.linalg.svd(cov)原创 2021-07-21 11:23:47 · 160 阅读 · 0 评论 -
机器学习-K-Means算法编程作业
一、初始化聚类中心随机选择k个聚类中心:def init_centroids(X, k): m, n = X.shape centroids = np.zeros((k, n)) idx = np.random.randint(0, m, k) for i in range(k): centroids[i,:] = X[idx[i],:] return centroids二、簇分配为每个样本找到离它最近的簇中心:def原创 2021-07-21 11:23:33 · 428 阅读 · 0 评论 -
机器学习-支持向量机编程作业
from sklearn import svmsvc = svm.LinearSVC(C=1, loss='hinge', max_iter=1000)svc原创 2021-07-21 11:23:21 · 138 阅读 · 0 评论 -
机器学习-逻辑回归编程作业
一、处理数据(特征映射、初始化)特征映射为每组数据创造更多的特征,即将原有特征进行多项式组合、提高次幂。初始化数据二、正则化的代价函数J(θ)=1m∑i=1m[−y(i)log(hθ(x(i)))−(1−y(i))log(1−hθ(x(i)))]+λ2m∑j=1nθj2J\left( \theta \right)=\frac{1}{m}\sum\limits_{i=1}^{m}{[-{{y}^{(i)}}\log \left( {{h}_{\theta }}\left( {{x}^{(i)}原创 2021-07-21 11:23:08 · 341 阅读 · 0 评论 -
机器学习-线性回归编程作业
一、数据处理初始化X、y插入一列:data.insert(0,'Ones',1)#两种方法:#法一:用loc,根据列名X=data.loc[:,['Ones','Population']]y=data.loc[:,['Profit']]#法二:用iloc,根据列数cols=data.shape[1]#列数,也为theta的个数X = data.iloc[:,:-1]#X是data里的除最后列y = data.iloc[:,cols-1:cols]#y是data最后一列多特征原创 2021-07-21 11:22:54 · 296 阅读 · 0 评论 -
机器学习-神经网络编程作业
一、向前传播函数forward_propagate输入:X theta根据上图公式进行计算输出:a1、z2、a2、z3、h(a3)# 前向传播函数def forward_propagate(X, theta1, theta2): m = X.shape[0] # X:5000×400 a1 = np.insert(X, 0, values=np.ones(m), axis=1)# a1:5000×401 z2 = a1 * theta1.T a2 = n原创 2021-07-21 11:22:19 · 334 阅读 · 0 评论 -
机器学习-大规模机器学习
一、随机梯度下降法批量梯度下降法每次迭代求和要遍历完全部样本。每次都要同时考虑所有的训练样本,对于海量数据集,处理起来就很困难。针对单个样本重新定义cost函数:随机梯度下降法:随机打乱所有数据集(重新随机排列)(标准预处理过程);对所有样本进行遍历,每遍历一个样本就进行梯度下降。总的来看,参数是朝着全局最小化的方向移动的,整个过程还是以随机迂回的路径朝着全局最小值前进,相比于普通梯度下降,随机梯度下降的收敛形式是不同的,它所做的是连续不断在某个区域中朝着全局最小值方向徘徊。二原创 2021-07-21 11:21:49 · 128 阅读 · 0 评论 -
机器学习-推荐系统
一、问题引出案例:电影评分nu表示用户的数量、nm表示电影的数量。r(i,j)等于1时表示用户j给电影i进行了评价。y(i,j)表示当评价后会得到的具体的评价星值。推荐系统就是在给出了r(i,j)和y(i,j)的值后,会去查找那些没有被评级的电影,并试图预测这些电影的评价星级。二、基于内容的推荐算法提取出每部影片的特征(X)(如爱情成分、动作成分有多少),根据每个用户已有的电影评价(y)学习参数向量(θ),每一个用户对应一个线性回归的样本,进行回归预测。即有X去学习θ。问题的正式定义原创 2021-07-21 11:21:01 · 308 阅读 · 0 评论