参入から放棄までのデータマイニング:線形回帰とロジスティック回帰

参入から放棄までのデータマイニング:線形回帰とロジスティック回帰

「データマイニングのアルゴリズムは、線形代数、確率論、情報理論に基づいています。それらを深く掘り下げていくと非常に興味深いです。数学者、統計学者、コンピュータ科学者の知恵を理解することができます。このコラムでは、比較的単純な一般的なアルゴリズムから始めて、TensorFlow に基づく高度なアルゴリズムを学習します。顔認識や NLP の実際のプロジェクトに参加して、一定の成果を達成できれば最高です。」

1. 線形回帰モデルの理解

まず、回帰モデルについてお話ししましょう。回帰モデルは、従属変数 (ターゲット) と独立変数 (予測子) の関係を調査します。従属変数は連続または離散です。離散の場合は、分類問題になります。住宅価格予測モデルについて考えると、家の大きさ、間取り、立地、南北の通風などの独立変数に基づいて、家の販売価格を予測することができます。これは最も単純な回帰モデルです。中学校では、回帰式は一般的に次のように書かれます。ここで、x は独立変数、y は従属変数、w は特徴行列、b はバイアスです。

機械学習の導出に線形代数の考え方を導入し、休日予測モデルを記述する式を使用すると仮定します。x は家の特徴セットを表し、n×1 列ベクトルです。合計 m 個の特徴セットがあります。θ は n×1 列ベクトルで、取得したい未知数です。

私たちは、誤差を最小化する戦略を採用しています。たとえば、予測式があります:ysalary=Θ1*学歴+Θ2*職務経験+Θ3*技術能力+.......+Θn*x+基本給。予測されたy値と実際の値y_の間にはギャップがあります。戦略関数は、m個の特徴セットの(実際の値y-予測値)の二乗の合計を最小化することです。 (差は負になる可能性があるため、二乗和が使用されます)

正規方程式を解く方法に従って、θ の偏微分を求めます。

つまり、特徴行列 X と従属変数 y が与えられれば、エラー率を最小化し、後続の回帰モデルを満たす θ の値を見つけることができます。線形代数を知っている人なら、この問題が分かるでしょう。θ の式には逆行列演算があり、行列が逆行列であることが必要ですが、これは通常保証できません。これにより、θ に解がなくなり、戦略は失敗します。

2. コンピュータの仕組み: 勾配降下法

従来の方程式では、多数の行列演算、特に逆行列演算が必要であり、行列が非常に大きい場合には計算の複雑さが大幅に増加します。 、正規方程式法は行列の偏微分に対して一定の制限があります(行列が可逆であることを保証できません)。次に、コンピューターソリューションである勾配降下法を紹介します。毎回小さなステップを踏み、この小さなステップが最も効果的なステップであることを確認します。山を下っていることを想像してください。目的地(グローバル最小値)がどこにあるかはわかりませんが、毎回最も急なステップを踏むことを保証できます。

私たちの戦略は同じままで、m 個の特徴セットの (真の値 y-予測値) の二乗の合計を最小化することです。

勾配降下法の実装: 初期 θ 値を割り当て、式に従って θ を徐々に更新して J(θ) が減少し続け、最終的に収束し、対応するパラメータ θ が解になります。導出の便宜上、まずはトレーニングサンプルが 1 つしかない場合に導出式を計算する方法を検討します。

θ の各成分の更新式は次のとおりです。

m 個のトレーニング データに拡張すると、パラメーター更新式は次のようになります。

3. ロジスティック回帰モデル

ロジスティック回帰と線形回帰はどちらも一般化線形モデルに属します。ロジスティック回帰は線形回帰の理論に基づいており、バイナリ分類モデルです。また、複数の分類問題に一般化することもできます。非線形因子はシグモイド関数を通じて導入されるため、0/1分類問題を簡単に処理できます。まず、シグモイド関数を紹介します。

シグモイド関数のグラフは、[0, 1]の間の値を持つS字曲線です。値が0から遠い場合、関数値は急速に0または1に近づきます。シグモイド関数の微分特性は次のとおりです。

ロジスティック回帰の予測関数は以下のとおりです。これは、特徴から結果へのマッピングに関数マッピングのレイヤーを追加するだけです。最初に特徴が線形に合計され、次に関数 g(z) を使用して仮説関数が予測されます。 g(z)は0から1の間の連続値をマッピングできます。

尤度関数を求め、両辺の対数を取ることで、θ の偏微分を求めることができます。

このようにして、勾配上昇の各反復の更新方向が得られるので、θ の反復式は次のようになります。

線形回帰モデルが同じ式になっているのは単なる偶然ではありません。両者の間には深いつながりがあります。

IV. 回帰モデルの使用

データは、2014 年 5 月から 2015 年 5 月までの米国キング郡の住宅販売価格と住宅基本情報です。データはトレーニング データとテスト データに分かれており、それぞれ kc_train.csv と kc_test.csv の 2 つのファイルに保存されます。トレーニング データには主に 10,000 件のレコードと 14 のフィールド (販売日、販売価格、寝室数、浴室数、住宅面積、駐車場面積、階数、住宅スコア、建築面積、地下室面積、建築年、修繕年、緯度、経度) が含まれます。

データセットのアドレス: https://github.com/yezonggang/house_price、モデル構築を完了するには次のプロセスに従います。

  1. pandasをpdとしてインポートする
  2. pandasからDataFrameをインポートする
  3. numpyをnpとしてインポートする
  4. matplotlib.pyplot をpltとしてインポートします。
  5. %matplotlib インライン
  6. Seaborn をSNSとしてインポートする
  7. sklearn.linear_modelからLogisticRegression をインポートします
  8. sklearn.ensembleからRandomForestClassifier をインポートします
  9. sklearn.linear_modelからLinearRegression をインポートします
  10. # データの読み取り
  11. baseUrl= "C:\\Users\\71781\\Desktop\\2020\\ML-20200422\\houre_price\\"  
  12. house_df = pd.read_csv(baseUrl + 'train.csv' ) です。
  13. test_df = pd.read_csv(baseUrl + 'test.csv' ) です。
  14. house_df.head()
  15.  
  16. # 無関係な変数を削除する
  17. house_df = house_df.drop ([ 'saleTime' , 'year' , 'repairYear' , 'latitude' , 'longitude' , 'buildingSize' ],axis=1 )
  18. test_df= test_df.drop ([ 'saleTime' , 'year' , 'repairYear' , 'latitude' , 'longitude' , 'buildingSize' ],axis=1)
  19.  
  20. # モデル構築
  21. X_price = house_df.drop ([ 'price' ],axis=1)
  22. # X_price.head()
  23. Y_price = house_df[ '価格' ]
  24. Y_price.head()
  25.  
  26. LR_reg = 線形回帰()
  27. LR_reg.fit(X_price, Y_price)
  28. Y_pred = LR_reg.predict(test_df)
  29. LR_reg.score(X_price, Y_price)
  30.  
  31.  
  32. # オプションで特徴スケーリングを実行する
  33. #new_house=house_df.drop ([ '価格' ],axis=1 )
  34. # sklearn.preprocessingからMinMaxScaler をインポートします
  35. #minmax_scaler=MinMaxScaler().fit(new_house) #内部フィッティング、内部パラメータは変更されます
  36. #scaler_housing = pd.DataFrame(minmax_scaler.transform(new_house)、列 = new_house.columns)
  37.  
  38. #mm=最小最大スケーラー()
  39. #mm.fit(テスト_df)
  40. #scaler_t = mm.transform(テスト_df)
  41. #scaler_t = pd.DataFrame(scaler_t、列 = test_df.列)

この記事はWeChatのパブリックアカウント「データ社会」から転載したものです。下のQRコードからフォローできます。この記事を転載する場合は、Data Society 公式アカウントまでご連絡ください。

<<:  ディープラーニングのためのテキスト前処理方法

>>:  機械学習は数字を数え、マウスをクリックしてモデルをトレーニングし、残りはコンピューターに任せます

ブログ    
ブログ    

推薦する

GPTベースの開発者ツール

localGPT - GPT モデル ツールのローカル展開localGPT を使用すると、GPT モ...

アリババAIチームが米国CES展示会に参加、外国人は新たな4大発明のアップグレードを賞賛!

毎年恒例の国際コンシューマー・エレクトロニクス・ショー(CES)が始まったため、ラスベガス・ストリッ...

...

3分レビュー! 2021年5月の人工知能分野における重要な進展の概要

近年、社会経済の発展に伴い、人工知能技術は科学技術の最前線に立っています。テクノロジーが成熟するにつ...

私の国の自動運転開発は、年初に巨額の資金提供を受けて大いに支持されている

自動運転は、さまざまな交通問題を解決し、スマートシティの発展を実現するための共通の選択肢として、近年...

...

Tian Yuandong らの新しい研究: メモリのボトルネックを突破し、4090 で 7B の大規模モデルを事前トレーニング可能に

先月、Meta FAIR の Tian Yuandong が参加した研究が大きな称賛を受けました。彼...

人工知能が持続可能な開発を推進する5つの方法

フォーチュン 500 にランクされる世界的なテクノロジー サービス企業 DXC Technology...

...

ビッグデータと人工知能のために生まれた新しい職業:アルゴリズム専門家

[[69076]]映画「マトリックス」でレオが銃弾の雨をかわす難しい動きを誰もが覚えているはずだ。こ...

強力な人工知能まであとどれくらいでしょうか?まず、これらの5つの数学の問題を解くのに10年から20年かかります

[[272461]] 7月30日、成都ハイテクゾーンの景栄会で開催された2019年世界人工知能サミッ...

信頼性の高い人工知能システムのルールをどのように定義し構築するのでしょうか?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...

CCTV、春節に初めてバーチャル司会者サ・ベイニン氏を迎える

AIブロックチェーン企業の技術が中国の重要な国家夜会で正式に使用された。 2019年のオンライン春節...