机器学习技法与实战
本专栏讲解总结《机器学习技法》学习笔记与《机器学习实战》实践为主,来与大家分享学习。
小爷毛毛(卓寿杰)
NLP对话问答、大模型、AIGC。
微信视频号:毛毛讲书,欢迎关注进一步交流!
展开
-
《机器学习技法》学习笔记11——GBDT
http://blog.csdn.net/u011239443/article/details/77435463Adaptive Boosted Decision Tree关于AdaBoost、提升树可先参阅:http://blog.csdn.net/u011239443/article/details/77294201 这里仅对其做一定的补充。 对提升决策树桩的模型中,我们对树的节点进行分隔时原创 2017-08-20 22:53:52 · 1346 阅读 · 0 评论 -
《机器学习实战》(十三)—— PCA
协方差矩阵统计学的基本概念协方差上面几个统计量看似已经描述的差不多了,但我们应该注意到,标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集,最简单的大家上学时免不了要统计多个学科的考试成绩。面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解更多,协方差就是这样一种用来度量两个随机变量关系的统计量,我们可以仿照方差的定义:来度量各个维度偏离其均原创 2017-08-18 09:55:50 · 2344 阅读 · 4 评论 -
《机器学习实战》(七)—— AdaBoost(提升树)
AdaBoost提升树例子将“身体”设为A,“业务”设为B,“潜力”设为C。对该题做大致的求解:这里我们只计算到了f2,相信读者也知道如何继续往下计算。这里特征的取值较少,所以直接使用是否等于某个取值来作为分支条件。实际中,可以设置是否大于或者小于等于某个阈值来作为分支条件。接下来我们就来看看如何实现提升树。实现# -*- coding: utf-8 -*-from numpy import *原创 2017-08-17 09:50:20 · 1385 阅读 · 1 评论 -
《机器学习实战》(六)—— SVM(SMO算法)
关于SVM的讲解可以参阅《机器学习技法》的相关笔记:http://blog.csdn.net/u011239443/article/details/76572743。原创 2017-08-14 21:17:27 · 10726 阅读 · 7 评论 -
《机器学习技法》学习笔记13——深度学习
http://blog.csdn.net/u011239443/article/details/76692801深度神经网络 浅层神经网络 深层神经网络 更加有效的训练 难以训练 更简单的结构选择 复杂的结构选择 更具有理论依据,但可能难以提取特征 更加武断的依据,简化特征提取 适合多项式组合比较明确的情况下 适合多项式组合复杂未知的情况下 深度学习面临的挑战原创 2017-08-04 19:55:10 · 898 阅读 · 0 评论 -
《机器学习技法》学习笔记12——神经网络
http://blog.csdn.net/u011239443/article/details/76680704动因单隐藏层神经网络:单隐藏层神经网络做“与”运算:但是单隐藏层神经网无法做异或运算:可以看到上面最右边的图,就算是映射到高维的空间中,依旧是线性不可分的。我们可以使用多层的神经网络来解决这个问题:神经网络假说神经网络基本上的模型为:由于阶梯函数不好求导优化;整个网络的激活函数都是线性函数原创 2017-08-04 13:48:38 · 1844 阅读 · 1 评论 -
《机器学习技法》学习笔记15——矩阵分解
http://blog.csdn.net/u011239443/article/details/76735871线性网络模型Netflix在2006年给出了一个数据集 (用户id,电影id,电影评分) 让我们来预测用户未评分的电影评分分数。 我们可以讲用户id进行二分向量编码,然后同意用户的电影评分组成一个向量,即得到:因为向量x只有一个值为1,所以模型可以变成:而对于某一个电影的预测评分可以原创 2017-08-05 21:22:32 · 2612 阅读 · 0 评论 -
《机器学习技法》学习笔记03——核SVM
http://blog.csdn.net/u011239443/article/details/76598872核技巧接着上篇博文的问题:我们先假定:则有: 于是我们就得到了核函数:那么我们就可以直接用核函数带入到原来的问题中,我们能计算出b:讲核函数代入gSVM=sign(∑SVindicesnwTzs+b)g_{SVM}=sign(\sum_{SV indices n}w^Tz_s+b)得:多原创 2017-08-02 21:35:41 · 940 阅读 · 0 评论 -
《机器学习技法》学习笔记02——对偶SVM
对偶SVM的目标如果是非线性SVM,那么问题变成了:zn是xn在d+1z_n是x_n在d+1高维空间映射所得到的值,于是就出现了困境:对偶SVM的目标就是:我们由拉格朗日乘子法得:因为yn(wTzn+b)>=1y_n(w^Tz_n+b)>=1 所以1−yn(wTzn+b)<=01-y_n(w^Tz_n+b)<=0 为了让符号不变,我们规定αn>=0α_n >=0 , 则αn(1−yn(wTzn原创 2017-08-02 12:26:56 · 848 阅读 · 0 评论 -
《机器学习技法》学习笔记01——线性SVM
http://blog.csdn.net/u011239443/article/details/76572743最大间距分离超平面胖的超平面具有更好的错误容忍性。我们目标就是找到能一个超平面,到各个点xnx_n到w最小的距离尽可能的大。而且w需要能正确划分,即 label yny_n 需要和计算出来的结果wTxnw^Tx_n同号。标准最大间距问题我们把wTxnw^Tx_n拆分:得到wTx+bw^Tx原创 2017-08-02 11:02:28 · 2018 阅读 · 0 评论 -
《机器学习实战》(十)——k-means、k-means++、二分K-means
原理创建K个点作为起始质点。每次迭代如下: 将各个数据点分配到离它距离最近的质点的簇。全部分配后,用各个簇中的数据点的位置均值来更新质点的位置。直到达到迭代次数,或者所有的数据点所在的簇不再改变。可参阅:http://blog.csdn.net/u011239443/article/details/51707802#t0支持函数Python# 加载数据def loadDataSet(fi原创 2017-03-30 18:45:23 · 5779 阅读 · 0 评论 -
《机器学习实战(Scala实现)》(五)——Logistic回归
原理逻辑回归的一种二分类。我们先来看下以下公式:z=w0x0+w1x1+...+wnxn\large z = w_0x_0 + w_1x_1 + ... + w_nx_nz是Sigmoid函数的输入:σ(z)=11+e−z\large \sigma(z) = \frac{1}{1+e^{-z}}我们可以看出上式子,当z = 0时,σ(z)=0.5\sigma(z) = 0.5;当z不断的减小时,σ(原创 2017-04-01 20:12:35 · 3320 阅读 · 0 评论 -
《机器学习实战(Scala实现)》(四)——朴素贝叶斯
原理关于算法原理可以参阅:http://blog.csdn.net/u011239443/article/details/53735609#t35构建词向量pythondef loadDataSet(): postingList=[['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'], ['ma原创 2017-03-29 12:55:47 · 2138 阅读 · 1 评论 -
《机器学习实战(Scala实现)》(三)——决策树
【代码】《机器学习实战(Scala实现)》(三)——决策树。原创 2017-03-26 18:19:45 · 5105 阅读 · 1 评论 -
《机器学习实战(Scala实现)》(二)——k-邻近算法
算法流程1.计算中的set中每一个点与Xt的距离。 2.按距离增序排。 3.选择距离最小的前k个点。 4.确定前k个点所在的label的出现频率。 5.返回频率最高的label作为测试的结果。实现python# -*- coding: utf-8 -*- '''Created on 2017年3月18日@author: soso'''from numpy import *impo原创 2017-03-18 14:41:08 · 6362 阅读 · 0 评论