机器学习之logistic Regression

时间:2022-11-01 16:23:41

今天学习第一个分类算法——Logistic Regression,这是一种应用比较广泛的分类算法。
1.Logistic Regression
(1)应用

  • Email:Spam/Not Spam?
  • OnLine Transactions:Fraudulent(Yes/No)?
  • Tumor:Malignant/Benign?
    (2)模型
    机器学习之logistic Regression
    (3)目标
    机器学习之logistic Regression
    变形为:
    机器学习之logistic Regression
    (4)实现
    为了求最优(最小)的代价函数,我们有很多算法可以选择,主要有Gradient descent(梯度下降算法)、Conjugate gradient、BFGS/L-BFGS。后面三种算法相对于梯度下降算法来说,不需要选取a参数,而且更快。但是老师并没有介绍这三种算法,后期我会对这三种算法进行详细的研究。

机器学习之logistic Regression
注:

  • 这里老师用到了一个matlab库函数来求最优解,具体代码如下:
%%===============costFunctions================
function [jVar,gradient]=costFunction(theta)
jVar=(theta(1)-5)^2+(theta(2)-5)^2;
gradient=zeros(2,1);
gradient(1)=2*(theta(1)-5);
gradient(2)=2*(theta(2)-5);

%
%=============test=========================
options=optimset('GradObj','on','MaxIter',100);
initialTheta=zeros(2,1);
[optTheta,functionVal,exitFlag]=fminunc(@costFunction,initialTheta,options)

2.Multiclass classification
(1)应用
Email foldering/tagging:Work,Friends,Family,Hobby
Medical diagrams:Not ill,Cold,Flu
Weather:Sunny,Cloudy,Rain,Snow
(2)方法

3.过拟合
(1)直观感受
机器学习之logistic Regression
(2)解决方法

  • 减少特征数量(人为选择或者算法选择)
  • Regularization(正则化)
    减少参数theta或者保留所有的特征减少每个特征对结果的影响;
    .重新定义代价函数:
    机器学习之logistic Regression
    实现:

    .正则方程
    机器学习之logistic Regression
    添加完正则项之后,能够解决特征值多于数据集造成的不可逆情况。

    4.将正则化应用到logistic regression中
    机器学习之logistic Regression