# machineLearning-deepLearning **Repository Path**: gaowanlu/machineLearning-deepLearning ## Basic Information - **Project Name**: machineLearning-deepLearning - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-18 - **Last Updated**: 2021-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 机器学习与深度学习 这是一份学习的笔记,记录了机器学习与深度学习的个人笔记,平时我们大多数情况下需要的是能训练出模型的例程以及怎么使用模型。 例程代码大多数都很简单、即使对Python不太了解的情况下,并不影响看懂例程是怎么用的,快速使用某个分类器练出模型、进行模型评估等。 --- ## 快速开始 建议使用VSCode + Anaconda搭建Python环境进行学习。 需要准备的环境: Python3 、sklearn、tensorflow、matplotlib、numpy、pandas以及jupyter查看工具等。 --- ## 机器学习部分 --- ### `基础知识` - [x] `数据集与测试集` 🎉 - [x] `csv文件使用` 🎉 ### `分类` - [x] `SDG 手写数字二分类` [PR、ROC、混淆矩阵、F1、精准率、召回率等] 🎉 - [x] `多分类` 🎉 ### `回归` - [x] `线性回归` [LinearRegression、最小二乘法、梯度下降、SDG、多项式回归、学习曲线、岭回归、Lasso回归]🎉 - [x] `逻辑回归` [单特征、多特征 、Softmax多特征多分类]🎉 ### `支持向量机(SVM)` - [x] `线性SVM分类` 🎉 [SVC、特征缩放] - [x] `非线性SVM分类` 🎉 [PolynomialFeatures、LinearSVC、多项式内核、高斯RBF内核、计算复杂度] - [x] `SVM回归`🎉 [LinearSVR、SVR、多阶] ### `决策树` - [x] `分类` 🎉 [DecisionTreeClassifier、决策树可视化(graphviz)、超参数正则] - [x] `回归` 🎉 [DecisionTreeRegressor、模型效果可视化、正则化] ### `集成学习和随机森林` - [x] `投票分类器` 🎉 [硬投票、软投票] - [x] `bagging 和 pasting` 🎉 [BaggingClassifier、包外评估、随机补丁和随机子空间] - [x] `随机森林` 🎉 [RandomForestClassifier、极端随机树(ExtraTreesClassifier)、特征重要性] - [x] `提升法` 🎉 [AdaBoosting、GradientBoosting、早停止、xbgboost梯度提升早停止] - [x] `堆叠法`🎉 ### `降维` - [x] `基础` 🎉 [投影法、流形学习 ] - [x] `PCA`🎉 [主成分、解释方差比] - [x] `选择维度` 🎉 [指定解释方差比、指定维度、PCA压缩] - [x] `其他PCA` 🎉 [随机PCA、增量PCA、内核PCA] - [x] `LLE` 🎉 [ LocallyLinearEmbedding] - [x] `其他降维技术` 🎉 [ MDS、Isomap、t-SNE] ### `无监督学习` - [x] `聚类` [快速使用K-Means训练模型与预测、软聚类与硬聚类、寻找最佳K值、小批量Kmeans、KMeans图像分割、使用聚类对数据预处理、聚类半监督学习、DBSCAN(与KNN分类器)、其他聚类算法(谱聚类、层次聚类)] - [x] `高斯混合模型` [高斯混合模型基本使用、异常值检测、模型选择调优、贝叶斯高斯混合模型] --- ## 深度学习 - [ ] `人工神经网络` - [ ] `深度神经网络` - [ ] `tf 自定义模型训练` - [ ] `tf 加载与预处理数据` - [ ] `卷积神经网络` - [ ] `RNN和CNN处理序列` - [ ] `RNN和注意力机制nlp` - [ ] `自动编码器、GAN表征学习、生成学习` - [ ] `强化学习` - [ ] `大规模训练和tf模型部署` ## 一些玩具小项目 目录位置 /project/ 1. cvPy (Python OpenCV的常用函数封装) 2. facedp_sgd (基于SGDClassifier的人脸检测与K-Means人脸图像分割) 3. PCBCheck (电脑主板 螺丝装配 检测) --- ## 关于OpenCV 学习机器学习与深度学习、我认为最好的实践是做一些计算机视觉的小玩具。 关于我 原来在参加RoboMaster(机甲大师)时接触到的OpenCV,项目是用C++构建的,当我接 触到Python调用OpenCV时,总有些不适应,感觉我需要记住cv2内的function名, 但我们平时用到的其实并不多。 在本项目opencvUtils/cvPy.py中,我们对cv2的接口进行了二次封装, 对于专业使用 OpenCV来看,它是用不到的,如果您是一位从未接触过OpenCV的新手, 我想他会对你有用。 --- ## 关于我们 一个菜鸡软件工程学子 怎么学起了机器学习与深度学习相关知识? 平时喜欢探究流行技术、范围广泛,涵盖工程化前端(React 等)、 后端(JavaEE、SpringMVC等),但接触了一些时间,感觉它们都是前篇一律的业务, 我们很难做到像尤大神一样写出Vue,也很难像大神一样写出css框架,后端 的增删改查、以及各种框>架之间的周转。感觉自己会成为编程工具人。 我感觉 机器学习与深度学习有用时,是在大学大二时接触到了RoboMaster比赛、但在项 目的参与中、我们深知有些问题可以用ml、dl来解决,但我们有时也无能为力。 我们学某种技术终究是用它菜去学习的或者我们写一些例程,分享给他人,以便 别人在需要之时可以快速训练出自己想要的模型。 也许学习机器学习与深度学习并不会成为我的工作、但我想利用在校的时间尽自己所能扩展自己的视野,这样才能发现自己的渺小, 否则还沉醉于自己是个编码大神(我也从未这样想过)、我们也不能评论学校课堂的知识没用、当来到机器学习的世界,会发现微积分、 线性代数、概率论与数理统计、信息论等学科知识是如此重要、它确实很难,我们会感觉到自己渺小,原来数学可以做这么强大的工作。 框架总有高光与落寞的时刻,最流行的不一定是最好的。我们解决的是问题、解决了问题就是好技术。 正年轻·吃苦趁现在。祝君好运! --- ## 感谢 如果这个仓库对您有所帮助、还请您帮忙点个star,您的点赞与关注是我们持续分享的动力,欢迎Fork 贡献您的代码或者笔记到此仓库。 Thanks a million! --- ## 声明 如果侵犯您的权益、请第一时间通过邮箱进行联系。🦜 --- ## 联系我们 📮 heizuboriyo@gmail.com 🏫 桂林电子科技大学(花江校区) ## 参考书籍 * 《机器学习实战:基于Scikit-Learn、Keras和TensorFlow:第2版》 机械工业出版社 Aurelien Geron (机器学习部分代码的主要来源出处) * 《机器学习》 清华大学出版社 周志华 * 《深度学习》 人民邮电出版社 * 《Python编程 从入门到实践 第2版》 人民邮电出版社